netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: Parav Pandit <parav@mellanox.com>, Jiri Pirko <jiri@mellanox.com>,
	"kwankhede@nvidia.com" <kwankhede@nvidia.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH 1/4] mdev: Introduce sha1 based mdev alias
Date: Tue, 27 Aug 2019 10:50:54 -0600	[thread overview]
Message-ID: <20190827105054.3702adda@x1.home> (raw)
In-Reply-To: <20190827153510.0bd10437.cohuck@redhat.com>

On Tue, 27 Aug 2019 15:35:10 +0200
Cornelia Huck <cohuck@redhat.com> wrote:

> On Tue, 27 Aug 2019 11:57:07 +0000
> Parav Pandit <parav@mellanox.com> wrote:
> 
> > > -----Original Message-----
> > > From: Cornelia Huck <cohuck@redhat.com>
> > > Sent: Tuesday, August 27, 2019 5:11 PM
> > > To: Parav Pandit <parav@mellanox.com>
> > > Cc: alex.williamson@redhat.com; Jiri Pirko <jiri@mellanox.com>;
> > > kwankhede@nvidia.com; davem@davemloft.net; kvm@vger.kernel.org; linux-
> > > kernel@vger.kernel.org; netdev@vger.kernel.org
> > > Subject: Re: [PATCH 1/4] mdev: Introduce sha1 based mdev alias
> > > 
> > > On Tue, 27 Aug 2019 11:33:54 +0000
> > > Parav Pandit <parav@mellanox.com> wrote:
> > >     
> > > > > -----Original Message-----
> > > > > From: Cornelia Huck <cohuck@redhat.com>
> > > > > Sent: Tuesday, August 27, 2019 4:54 PM
> > > > > To: Parav Pandit <parav@mellanox.com>
> > > > > Cc: alex.williamson@redhat.com; Jiri Pirko <jiri@mellanox.com>;
> > > > > kwankhede@nvidia.com; davem@davemloft.net; kvm@vger.kernel.org;
> > > > > linux- kernel@vger.kernel.org; netdev@vger.kernel.org
> > > > > Subject: Re: [PATCH 1/4] mdev: Introduce sha1 based mdev alias
> > > > >
> > > > > On Tue, 27 Aug 2019 11:12:23 +0000
> > > > > Parav Pandit <parav@mellanox.com> wrote:
> > > > >    
> > > > > > > -----Original Message-----
> > > > > > > From: Cornelia Huck <cohuck@redhat.com>
> > > > > > > Sent: Tuesday, August 27, 2019 3:54 PM
> > > > > > > To: Parav Pandit <parav@mellanox.com>
> > > > > > > Cc: alex.williamson@redhat.com; Jiri Pirko <jiri@mellanox.com>;
> > > > > > > kwankhede@nvidia.com; davem@davemloft.net; kvm@vger.kernel.org;
> > > > > > > linux- kernel@vger.kernel.org; netdev@vger.kernel.org
> > > > > > > Subject: Re: [PATCH 1/4] mdev: Introduce sha1 based mdev alias
> > > > > > >    
> > >     
> > > > > > > What about:
> > > > > > >
> > > > > > > * @get_alias_length: optional callback to specify length of the
> > > > > > > alias to    
> > > > > create    
> > > > > > > *                    Returns unsigned integer: length of the alias to be created,
> > > > > > > *                                              0 to not create an alias
> > > > > > >    
> > > > > > Ack.
> > > > > >    
> > > > > > > I also think it might be beneficial to add a device parameter
> > > > > > > here now (rather than later); that seems to be something that makes    
> > > sense.    
> > > > > > >    
> > > > > > Without showing the use, it shouldn't be added.    
> > > > >
> > > > > It just feels like an omission: Why should the vendor driver only be
> > > > > able to return one value here, without knowing which device it is for?
> > > > > If a driver supports different devices, it may have different
> > > > > requirements for them.
> > > > >    
> > > > Sure. Lets first have this requirement to add it.
> > > > I am against adding this length field itself without an actual vendor use case,    
> > > which is adding some complexity in code today.    
> > > > But it was ok to have length field instead of bool.
> > > >
> > > > Lets not further add "no-requirement futuristic knobs" which hasn't shown its    
> > > need yet.    
> > > > When a vendor driver needs it, there is nothing prevents such addition.    
> > > 
> > > Frankly, I do not see how it adds complexity; the other callbacks have device
> > > arguments already,    
> > Other ioctls such as create, remove, mmap, likely need to access the parent.
> > Hence it make sense to have parent pointer in there.
> > 
> > I am not against complexity, I am just saying, at present there is no use-case. Let have use case and we add it.
> >   
> > > and the vendor driver is free to ignore it if it does not have
> > > a use for it. I'd rather add the argument before a possible future user tries
> > > weird hacks to allow multiple values, but I'll leave the decision to the
> > > maintainers.    
> > Why would a possible future user tries a weird hack?
> > If user needs to access parent device, that driver maintainer should ask for it.  
> 
> I've seen the situation often enough that folks tried to do hacks
> instead of enhancing the interface.
> 
> Again, let's get a maintainer opinion.

Sure, make someone else have an opinion ;)  I don't have a strong one.
The argument against a dev arg, as I see it, is that it's unused
currently, so why should we try to predict a future use case.  The
argument for, is that we're defining an API between the core and vendor
driver, where our job in defining that API could certainly be seen as
anticipating future use cases so as not to unnecessarily churn the
API.  So do we lean towards a more stable API or do we lean towards
minimalism?

when called form mdev_register_device(), the arg we'd add seems obvious
because we really have nothing more to work with than the parent
device.  But this is only a sanity test and the value there seems
questionable anyway.  If we look to the real use case in
mdev_device_create() then clearly dev stands out as a likely useful
arg, but is the type or kobj also useful?  Would we forfeit the sanity
test to include those?  I don't have a lot of confidence in being able
to predict that, so without an obvious set of args, I'm fine with the
minimalist approach provided.  Thanks,

Alex

  reply	other threads:[~2019-08-27 16:50 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-26 20:41 [PATCH 0/4] Introduce variable length mdev alias Parav Pandit
2019-08-26 20:41 ` [PATCH 1/4] mdev: Introduce sha1 based " Parav Pandit
2019-08-27  1:44   ` Alex Williamson
2019-08-27  1:51     ` Alex Williamson
2019-08-27  4:24     ` Parav Pandit
2019-08-27 10:24   ` Cornelia Huck
2019-08-27 11:12     ` Parav Pandit
2019-08-27 11:24       ` Cornelia Huck
2019-08-27 11:33         ` Parav Pandit
2019-08-27 11:41           ` Cornelia Huck
2019-08-27 11:57             ` Parav Pandit
2019-08-27 13:35               ` Cornelia Huck
2019-08-27 16:50                 ` Alex Williamson [this message]
2019-08-27 11:16     ` Parav Pandit
2019-08-26 20:41 ` [PATCH 2/4] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-08-26 23:02   ` Mark Bloch
2019-08-27  4:28     ` Parav Pandit
2019-08-27 15:23       ` Alex Williamson
2019-08-27 16:16         ` Parav Pandit
2019-08-27 10:29   ` Cornelia Huck
2019-08-27 11:08     ` Parav Pandit
2019-08-27 11:29       ` Cornelia Huck
2019-08-27 15:28         ` Alex Williamson
2019-08-27 15:39           ` Cornelia Huck
2019-08-27 16:13           ` Parav Pandit
2019-08-27 16:24             ` Alex Williamson
2019-08-27 18:54               ` Parav Pandit
2019-08-26 20:41 ` [PATCH 3/4] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-08-27  1:53   ` Alex Williamson
2019-08-27  3:30     ` Parav Pandit
2019-08-27 10:47   ` Cornelia Huck
2019-08-27 11:07     ` Parav Pandit
2019-08-27 11:34       ` Cornelia Huck
2019-08-27 11:52         ` Parav Pandit
2019-08-27 11:55           ` Cornelia Huck
2019-08-27 12:00             ` Parav Pandit
2019-08-26 20:41 ` [PATCH 4/4] mtty: Optionally support mtty alias Parav Pandit
2019-08-27 13:11 ` [PATCH 0/4] Introduce variable length mdev alias Parav Pandit
2019-08-27 13:31   ` Cornelia Huck
2019-08-27 17:48   ` Alex Williamson
2019-08-27 18:11     ` Parav Pandit
2019-08-27 19:16 ` [PATCH v1 0/5] " Parav Pandit
2019-08-27 19:16   ` [PATCH v1 1/5] mdev: Introduce sha1 based " Parav Pandit
2019-08-28 21:25     ` Alex Williamson
2019-08-28 21:34       ` Alex Williamson
2019-08-29  9:07         ` Parav Pandit
2019-08-29  9:06       ` Parav Pandit
2019-08-27 19:16   ` [PATCH v1 2/5] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-08-28 21:36     ` Alex Williamson
2019-08-29  9:07       ` Parav Pandit
2019-08-27 19:16   ` [PATCH v1 3/5] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-08-27 19:16   ` [PATCH v1 4/5] mdev: Update sysfs documentation Parav Pandit
2019-08-27 19:16   ` [PATCH v1 5/5] mtty: Optionally support mtty alias Parav Pandit
2019-08-29 11:18 ` [PATCH v2 0/6] Introduce variable length mdev alias Parav Pandit
2019-08-29 11:18   ` [PATCH v2 1/6] mdev: Introduce sha1 based " Parav Pandit
2019-08-29 12:26     ` Yunsheng Lin
2019-08-30  2:27       ` Parav Pandit
2019-08-30  9:17     ` Cornelia Huck
2019-08-30 12:33       ` Parav Pandit
2019-08-30 12:39         ` Cornelia Huck
2019-08-30 12:58           ` Parav Pandit
2019-08-30 14:02             ` Cornelia Huck
2019-08-30 15:45               ` Parav Pandit
2019-09-02 14:46                 ` Cornelia Huck
2019-09-03  3:47                   ` Parav Pandit
2019-08-29 11:19   ` [PATCH v2 2/6] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-08-29 12:31     ` Yunsheng Lin
2019-08-30 12:40     ` Cornelia Huck
2019-08-30 12:59       ` Parav Pandit
2019-08-29 11:19   ` [PATCH v2 3/6] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-08-29 11:19   ` [PATCH v2 4/6] mdev: Introduce an API mdev_alias Parav Pandit
2019-08-29 11:19   ` [PATCH v2 5/6] mdev: Update sysfs documentation Parav Pandit
2019-08-30 12:49     ` Cornelia Huck
2019-08-30 13:10       ` Parav Pandit
2019-09-02 14:36         ` Cornelia Huck
2019-09-03  3:53           ` Parav Pandit
2019-08-29 11:19   ` [PATCH v2 6/6] mtty: Optionally support mtty alias Parav Pandit
2019-09-02  4:24 ` [PATCH v3 0/5] Introduce variable length mdev alias Parav Pandit
2019-09-02  4:24   ` [PATCH v3 1/5] mdev: Introduce sha1 based " Parav Pandit
2019-09-17 10:03     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 2/5] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-09-17 10:04     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 3/5] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-09-17 10:08     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 4/5] mdev: Introduce an API mdev_alias Parav Pandit
2019-09-17 10:10     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 5/5] mtty: Optionally support mtty alias Parav Pandit
2019-09-09 20:42   ` [PATCH v3 0/5] Introduce variable length mdev alias Parav Pandit
2019-09-11 13:56     ` Alex Williamson
2019-09-11 15:30       ` Parav Pandit
2019-09-11 16:29         ` Cornelia Huck
2019-09-11 16:38         ` Parav Pandit
2019-09-13 21:32           ` Alex Williamson
2019-09-13 23:19             ` Parav Pandit
2019-09-17 10:13   ` Cornelia Huck
2019-09-18 17:15     ` Parav Pandit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190827105054.3702adda@x1.home \
    --to=alex.williamson@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=davem@davemloft.net \
    --cc=jiri@mellanox.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=parav@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).