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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.