lkml.org 
[lkml]   [2018]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 05/13] s390: vfio-ap: register matrix device with VFIO mdev framework
    On Mon, 14 May 2018 15:42:18 -0400
    Tony Krowiak <akrowiak@linux.vnet.ibm.com> wrote:

    > On 05/11/2018 01:18 PM, Halil Pasic wrote:
    > >
    > >
    > > On 05/07/2018 05:11 PM, Tony Krowiak wrote:
    > >> Registers the matrix device created by the VFIO AP device
    > >> driver with the VFIO mediated device framework.
    > >> Registering the matrix device will create the sysfs
    > >> structures needed to create mediated matrix devices
    > >> each of which will be used to configure the AP matrix
    > >> for a guest and connect it to the VFIO AP device driver.

    > >> +static int vfio_ap_mdev_create(struct kobject *kobj, struct
    > >> mdev_device *mdev)
    > >> +{
    > >> + struct ap_matrix *ap_matrix = to_ap_matrix(mdev_parent_dev(mdev));
    > >> +
    > >> + ap_matrix->available_instances--;
    > >> +
    > >> + return 0;
    > >> +}
    > >> +
    > >> +static int vfio_ap_mdev_remove(struct mdev_device *mdev)
    > >> +{
    > >> + struct ap_matrix *ap_matrix = to_ap_matrix(mdev_parent_dev(mdev));
    > >> +
    > >> + ap_matrix->available_instances++;
    > >> +
    > >> + return 0;
    > >> +}
    > >> +
    > >
    > > The above functions seem to be called with the lock of this
    > > auto-generated
    > > mdev parent device held. That's why we don't have to care about
    > > synchronization
    > > ourselves, right?
    >
    > I would assume as much. The comments for the 'struct mdev_parent_ops' in
    > include/linux/mdev.h do not mention anything about synchronization, nor
    > did I
    > see any locking or synchronization in the vfio_ccw implementation after
    > which
    > I modeled my code, so frankly it is something I did not consider.
    >
    > >
    > >
    > > A small comment in the code could be helpful for mdev non-experts.
    > > Hell, I would
    > > even consider documenting it for all mdev -- took me some time to
    > > figure out.
    >
    > You may want to bring this up with the VFIO mdev maintainers, but I'd be
    > happy to
    > include a comment in the functions in question if you think it important.

    Important note: There's currently a patch on list that removes the mdev
    parent mutex, and it seems there was never intended to be any
    serialization in that place by the mdev core. (Look for "vfio/mdev:
    Check globally for duplicate devices".)

    \
     
     \ /
      Last update: 2018-05-17 09:46    [W:4.903 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site