[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b96fe876-c67a-fe6c-0e3a-7b4948edeef4@linux.ibm.com>
Date: Fri, 13 Nov 2020 12:27:32 -0500
From: Tony Krowiak <akrowiak@...ux.ibm.com>
To: Halil Pasic <pasic@...ux.ibm.com>
Cc: linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, freude@...ux.ibm.com, borntraeger@...ibm.com,
cohuck@...hat.com, mjrosato@...ux.ibm.com,
alex.williamson@...hat.com, kwankhede@...dia.com,
fiuczy@...ux.ibm.com, frankja@...ux.ibm.com, david@...hat.com,
hca@...ux.ibm.com, gor@...ux.ibm.com
Subject: Re: [PATCH v11 07/14] s390/vfio-ap: sysfs attribute to display the
guest's matrix
On 10/28/20 4:17 AM, Halil Pasic wrote:
> On Thu, 22 Oct 2020 13:12:02 -0400
> Tony Krowiak <akrowiak@...ux.ibm.com> wrote:
>
>> +static ssize_t guest_matrix_show(struct device *dev,
>> + struct device_attribute *attr, char *buf)
>> +{
>> + ssize_t nchars;
>> + struct mdev_device *mdev = mdev_from_dev(dev);
>> + struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev);
>> +
>> + if (!vfio_ap_mdev_has_crycb(matrix_mdev))
>> + return -ENODEV;
> I'm wondering, would it make sense to have guest_matrix display the would
> be guest matrix when we don't have a KVM? With the filtering in
> place, the question in what guest_matrix would my (assign) matrix result
> right now if I were to hook up my vfio_ap_mdev to a guest seems a
> legitimate one.
A couple of thoughts here:
* The ENODEV informs the user that there is no guest running
which makes sense to me given this interface displays the
guest matrix. The alternative, which I considered, was to
display an empty matrix (i.e., nothing).
* This would be a pretty drastic change to the design because
the shadow_apcb - which is what is displayed via this interface - is
only updated when the guest is started and while it is running (i.e.,
hot plug of new adapters/domains). Making this change would
require changing that entire design concept which I am reluctant
to do at this point in the game.
>
>
>> +
>> + mutex_lock(&matrix_dev->lock);
>> + nchars = vfio_ap_mdev_matrix_show(&matrix_mdev->shadow_apcb, buf);
>> + mutex_unlock(&matrix_dev->lock);
>> +
>> + return nchars;
>> +}
>> +static DEVICE_ATTR_RO(guest_matrix);
Powered by blists - more mailing lists