> > > > So just to repeat - it is an error prone design to let users > > of the kernel uapi maintain their own copies of the kernel > > uapi header. It is the job of the kernel. > > But "random copies" is not what perf does. Tell me, how is the perf mechanism > of > using the headers "error-prone"? It's a delayed COW mechanism - COW is not an > error-prone concept in any way ...
The whole concept that user space have the burden to maintain a set of headers describing the uapi provided by the kernel is the point of discussion. The randomness come into play when a user space developer are faced with the challenge that the programm require access to something described by the kernel uapi and then have to hunt for a header that describes said uapi. In this thread we have covered one rational reason to push thus burden to user space - to give the kernel the freedom to repair past stupidity (being that in naming or some other sort). So lets turn around the arguments - and from a user space perspective what is the benefit of maintaining a set of headers describing the kernel uapi? Obviously this allows user space to name thing exactly the way they like, and allows user space to put all sorts of strange things in the header files describing the kernel uapi. This is just not enough good reasons why the user space developer shall create headers files describing the kerneluapi and maintain tooling to maintain the header files describing the kernel uapi. Are there other benefits that is missed which makes the concept of letting user space maintain header files describing the kernel uapi a good idea that is missed? Sam