On Mon, Jun 01, 2020 at 10:20:18AM +0300, Paraschiv, Andra-Irina wrote: > > > On 01/06/2020 06:02, Benjamin Herrenschmidt wrote: > > On Wed, 2020-05-27 at 09:49 +0100, Stefan Hajnoczi wrote: > > > What about feature bits or a API version number field? If you add > > > features to the NE driver, how will userspace detect them? > > > > > > Even if you intend to always compile userspace against the exact kernel > > > headers that the program will run on, it can still be useful to have an > > > API version for informational purposes and to easily prevent user > > > errors (running a new userspace binary on an old kernel where the API is > > > different). > > > > > > Finally, reserved struct fields may come in handy in the future. That > > > way userspace and the kernel don't need to explicitly handle multiple > > > struct sizes. > > Beware, Greg might disagree :) > > > > That said, yes, at least a way to query the API version would be > > useful. > > I see there are several thoughts with regard to extensions possibilities. :) > > I added an ioctl for getting the API version, we have now a way to query > that info. Also, I updated the sample in this patch series to check for the > API version. Great. The ideas are orthogonal and not all of them need to be used together. As long as their is a way of extending the API cleanly in the future then extensions can be made without breaking userspace. Stefan