RE: Further thoughts on uAPI

Hefty, Sean
2016-04-21T14:35:45Z

> > > The kernel common code side is pretty straightforward, just a bunch of
> > > tables of function pointers, templates and idrs for each object_type.
> >
> > This is the part where the intent and implementation are not clear to
> me.
>
> The implementation and expected behavior will be easily achieved by the
> following pseudo code:
>
> .. ioctl call
> .... pre rdma core hook
> ---- rdma core code
> ---- post rdma core hook

Pre/post hooks are not the same behavior. The difference is that the driver registers with the ioctl interface directly and is not required to hook into a specific kernel interface. It's not hooking a core ioctl, it's exposing its own.

> Why do you need to mark commands as legacy?

Because we're talking about a new ioctl/command format. I would kill them entirely, but I want to make the path forward as smooth as possible. A driver should not be forced to change the kernel core interfaces to export some HW capability to user space. That's the problem we're trying to solve, and I think it's an architectural problem inherent in the RDMA stack, not a maintainer issue as some believe.