Re: [PATCH RFC v2 1/2] RDMA: Add indication for in kernel API support to IB device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 07, 2019 at 10:15:20AM +0200, Leon Romanovsky wrote:
> On Mon, Jan 07, 2019 at 10:08:11AM +0200, Gal Pressman wrote:
> > On 06-Jan-19 23:39, Jason Gunthorpe wrote:
> > > On Sun, Jan 06, 2019 at 11:23:02AM +0200, Gal Pressman wrote:
> > >> Drivers that do not provide kernel verbs support should not be used by
> > >> ib kernel clients and fail.
> > >> In case a device does not implement all mandatory verbs for kverbs usage
> > >> mark it as a non kverbs provider and prevent its usage for all clients
> > >> except for uverbs.
> > >>
> > >> The device is marked as a non kverbs provider using the
> > >> 'kverbs_provider' flag which should only be set by the core code.
> > >> The clients can choose whether kverbs are requested for it usage using
> > >> the 'no_kverbs_req' flag which is currently set for uverbs only.
> > >>
> > >> This patch allows drivers to remove mandatory verbs stubs and simply set
> > >> the callback to NULL. The IB device will be registered as a non-kverbs
> > >> provider.
> > >>
> > >> Signed-off-by: Gal Pressman <galpress@xxxxxxxxxx>
> > >>  drivers/infiniband/core/device.c      | 12 ++++++++----
> > >>  drivers/infiniband/core/uverbs_main.c |  1 +
> > >>  include/rdma/ib_verbs.h               |  5 +++++
> > >>  3 files changed, 14 insertions(+), 4 deletions(-)
> > >>
> > >> diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
> > >> index 47ab34ee1a9d..6c1f71007ec4 100644
> > >> +++ b/drivers/infiniband/core/device.c
> > >> @@ -121,13 +121,15 @@ static int ib_device_check_mandatory(struct ib_device *device)
> > >>  	};
> > >>  	int i;
> > >>
> > >> +	device->kverbs_provider = true;
> > >>  	for (i = 0; i < ARRAY_SIZE(mandatory_table); ++i) {
> > >>  		if (!*(void **) ((void *) &device->ops +
> > >>  				 mandatory_table[i].offset)) {
> > >>  			dev_warn(&device->dev,
> > >> -				 "Device is missing mandatory function %s\n",
> > >> +				 "Device is missing mandatory function %s, disabling kverbs support\n",
> > >>  				 mandatory_table[i].name);
> > >
> > > Why not get rid of the message?
> >
> > Will do.
> 
> You need to be nice to users, and I see value in this warning.

If we are supporting this we should not have dev_warns for a normal
occurance. Something like RDMA tool should report no-kverbs or
somesuch instead

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux