On Tue, May 04, 2021 at 12:53:27PM -0300, Jason Gunthorpe wrote: > On Tue, May 04, 2021 at 04:23:40PM +0200, Daniel Vetter wrote: > > > Just my 2cents from drm (where we deprecate old gunk uapi quite often): > > Imo it's best to keep the uapi headers as-is, but exchange the > > documentation with a big "this is removed, never use again" warning: > > We in RDMA have been doing the opposite, the uapi headers are supposed > to reflect the current kernel. This helps make the kernel > understandable. > > When userspace needs backwards compat to ABI that the current kernel > doesn't support then userspace has distinct copies of that information > in some compat location. It has happened a few times over the last 15 > years. > > We keep full copies of the current kernel headers in the userspace > source tree, when the kernel headers change in a compile incompatible > way we fix everything while updating to the new kernel headers. Yeah we do the same since forever (it's either from libdrm package, or directly in the corresponding userspace header). So largely include/uapi is for documentation > > - it's good to know which uapi numbers (like parameter extensions or > > whatever they are in this case) are defacto reserved, because there are > > binaries (qemu in this) that have code acting on them out there. > > Numbers and things get marked reserved or the like > > > Anyway feel free to ignore since this might be different than drivers/gpu. > > AFAIK drives/gpu has a lot wider userspace, rdma manages this OK > because we only have one library package that provides the user/kernel > interface. But since we have some many projects we've started asking all the userspace projects to directly take the kernel ones (after the make step to filter them) so that there's only one source of truth. And also to make sure they don't merge stuff before the kernel side is reviewed&landed. Which also means we can't ditch anything userspace might still need on older trees and stuff. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch