On Thu, 27 Jun 2019 19:42:32 +0530 Kirti Wankhede <kwankhede@xxxxxxxxxx> wrote: > On 6/27/2019 1:51 PM, Cornelia Huck wrote: > > On Thu, 27 Jun 2019 00:33:59 +0530 > > Kirti Wankhede <kwankhede@xxxxxxxxxx> wrote: > > > >> On 6/26/2019 11:35 PM, Alex Williamson wrote: > >>> On Wed, 26 Jun 2019 23:23:00 +0530 > >>> Kirti Wankhede <kwankhede@xxxxxxxxxx> wrote: > >>> > >>>> On 6/26/2019 7:57 PM, Alex Williamson wrote: > >>>>> This allows udev to trigger rules when a parent device is registered > >>>>> or unregistered from mdev. > >>>>> > >>>>> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> > >>>>> --- > >>>>> drivers/vfio/mdev/mdev_core.c | 10 ++++++++-- > >>>>> 1 file changed, 8 insertions(+), 2 deletions(-) > >>>>> > >>>>> diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c > >>>>> index ae23151442cb..ecec2a3b13cb 100644 > >>>>> --- a/drivers/vfio/mdev/mdev_core.c > >>>>> +++ b/drivers/vfio/mdev/mdev_core.c > >>>>> @@ -146,6 +146,8 @@ int mdev_register_device(struct device *dev, const struct mdev_parent_ops *ops) > >>>>> { > >>>>> int ret; > >>>>> struct mdev_parent *parent; > >>>>> + char *env_string = "MDEV_STATE=registered"; > >>>>> + char *envp[] = { env_string, NULL }; > >>>>> > >>>>> /* check for mandatory ops */ > >>>>> if (!ops || !ops->create || !ops->remove || !ops->supported_type_groups) > >>>>> @@ -196,7 +198,8 @@ int mdev_register_device(struct device *dev, const struct mdev_parent_ops *ops) > >>>>> list_add(&parent->next, &parent_list); > >>>>> mutex_unlock(&parent_list_lock); > >>>>> > >>>>> - dev_info(dev, "MDEV: Registered\n"); > >>>>> + kobject_uevent_env(&dev->kobj, KOBJ_CHANGE, envp); > >>>>> + > >>>> > >>>> Its good to have udev event, but don't remove debug print from dmesg. > >>>> Same for unregister. > >>> > >>> Who consumes these? They seem noisy. Thanks, > >>> > >> > >> I don't think its noisy, its more of logging purpose. This is seen in > >> kernel log only when physical device is registered to mdev. > > > > Yes; but why do you want to log success? If you need to log it > > somewhere, wouldn't a trace event be a much better choice? > > > > Trace events are not always collected in production environment, there > kernel log helps. I'm with you for *errors*, but I'm not sure you should rely on *success* messages, though. If you want to be able to figure out the sequence of registering etc. in all cases, I think it makes more sense to invest in an infrastructure like tracing and make sure that is it turned on for any system that matters.