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
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev