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