Re: [lttng-dev] [PATCH lttng-modules 0/1] Introduce configure script to describe changes in linux kernel interface
Michael Jeanson via lttng-dev <[email protected]>
| Newsgroups | org.lttng.lists.lttng-dev |
|---|---|
| Message-ID | <[email protected]> |
On 2023-07-06 17:10, Roxana Nicolescu wrote: > Hi, > > I gave 2 derivatives as an example, but in fact there are more than 10. We > will end up with a bigger if condition that the actual function > implementation. And this is also not a sustainable solution in case there are > new derivatives coming after the fix. It will be hard to maintain. Plus, to > achieve this we have to release a new kernel version to expose the suffixes in > utsrelease.h and getting the fix on the user side would require a reboot to > upgrade their kernel version. > > While the current solution based on versioning may be easier to understand > from the developer perspective, it adds technical depth to the implementation > and in fact it requires more maintenance than expected, also on the > distribution side. When there is a change on the kernel side, you need to > check if it landed in older kernel versions and based on that you need to add > a new interval in the if condition. > Now, looking at the configure script approach, while maybe not as clear as an > ifdef, only one change would be enough to solve this problem. The LTTng module > does not have to care about each distribution's way of versioning and the > distributions don't have to deal with issues on their side if they use a > version that the LTTng module did not take into account because you were not > aware of it. > I think maintaining it won't be that hard if it's readable and documented > properly. I am more than happy to improve it and help with maintaining it if > you agree on this. > > All the best, > Roxana Hi Roxana, We are still not convinced of the benefits of a configure script over the added complexity since the issue is specific to Ubuntu where you choose to maintain 10s of different kernel branches with diverging code and overlapping versions. I made a patch [1] with version ranges that adds support for all kernels from the kinetic "linux" repo [2] including 'generic' and other flavours and 'lowlatency'. It however doesn't cover 'linux-aws' or other repos which share ABI numbers with 'lowlatency'. You can of course use the configure script approach in the Ubuntu package 'lttng-modules-dkms' by adding your patch to the packaging code. Regards, Michael [1] https://review.lttng.org/c/lttng-modules/+/10485 [2] https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/kinetic _______________________________________________ lttng-dev mailing list [email protected] https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev