Re: [PATCH rdma-next 5/5] RDMA/core: Add command to set ib_core device net namspace sharing mode

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

 



On Wed, 2019-02-20 at 19:09 +0000, Jason Gunthorpe wrote:
> On Wed, Feb 20, 2019 at 01:42:14PM -0500, Doug Ledford wrote:
> 
> > What this really makes me think is that we don't want this alias
> > device model we have now. We want full ib_device copies 
> 
> No, that would break the API users have today.

That's a given.  You can't implement a new feature like namespaces while
preserving non-namespace behavior, they are fundamentally diametrically
opposed behaviors.  Anything you want to see the API as it is today must
stay in the init_net ns.  Anything you want to put into a different ns,
needs to be able to deal with ns constraints.

>  Today exactly the same
> device is visible in all the namespaces. We can't swap that out for
> some other ib_device without impacting *something* user visible. We
> have too much stuff keyed to the ib_device.

I'm dubious that this is a real concern.  See below.

> > I really don't like the disconnect/reconnect model.  There's no reason
> > someone with a valid namespace association at the time we make this
> > change should see anything happen.  Just tear down what's invalid, and
> > leave the rest alone.
> 
> We agreed this exclusive / !exclusive switch is just for
> compatibility and should be set on boot - I don't think it makes sense
> to jump through elaborate hoops to make it work a little better.

I agree.  But I think we just drop it entirely.

> This really only relates to uverbs, if it is really important we could
> sweep the ufile's for ns conformance and disassociate the wrong ones.

No, as I think more about it, I think we just enable namespace support,
we default to having the real device in the init_net ns, and if we want
devices in other namespaces the admin creates them.  In the long run,
that's the only model we need to support.  Anything else is just a stop
gap.  I say this because I don't know of any real world use involving
RDMA, containers, non-init_net namespaces, and RDMA access.  Do you?  Or
is this still a theoretical/research thing where only the people playing
with this prior to production viability would ever see a problem?  What
I'm thinking is that all of the existing systems today that are
production systems, if they were upgraded to a namespace aware RDMA
stack, would simply continue to run all of their apps in the init_net
namespace and use the primary device instance that would still be there.
Are there any production systems, in use today, that actually put apps
in non-default namespaces and also access RDMA?

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[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