This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM64X: TI Linux Kernel Mainline Contribution Policy

Part Number: PROCESSOR-SDK-AM64X

Hi Team,

We refer to the "Processor SDK Linux for AM64X" version 08_01_00_39 and to the TI white paper found here: https://www.ti.com/lit/wp/spry259/spry259.pdf

Based on the white paper, we resumed, that TI steadily brings its kernel contributions mainline. However, after building the SDK as explained here https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/08_01_00_39/exports/docs/linux/Overview_Building_the_SDK.html (MACHINE=am64xx-evm ARAGO_RT_ENABLE=1 bitbake tisdk-base-image), we found the following:

1) The kernel is fetched from git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git with tag 08.01.00.006-rt.

2) The corresponding mainline kernel https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git (branch v5.10-rt) and the TI kernel repository share a common ancestor commit, namely commit
3e2c5afd34a2d8bec298411aafdd785ef82a39f6 "Linux 5.10.65-rt53" dated 2021-09-17. Committer is Steven Rostedt (VMware).

3) The TI kernel repository adds a number of 1421 commits on top of the common shared commit 3e2c5afd34a2d8bec298411aafdd785ef82a39f6. From these 1421 commits only a number of 4 commits are part of the mainline kernel. We checked this by picking each commit headline and grep for that headline in the mainline kernel commit log history.

We are aware, that step (3) might not give us the full picture about TIs mainline contributions. However our conclusion is, that a lot of TI specific commits are not brought mainline so far. We think, that there might be good reasons for this. We are developing a new custom board based on the AM64x CPU. For fast security update support we would like to use a vanilla kernel.

What is the reason for that great deal of commits in the TI kernel repository not brought mainline ?

Is this simply a matter of time until the commits appear mainline ?

Is it true that the commits are actually brought mainline but not backported to kernel version 5.10 ?

What is TIs recommendation regarding vanilla kernel usage (v5.10-rt in our case) ?

  • Hello Walter,

    From the regular (non-RT) Linux side, I can confirm that TI actively works to mainline our kernel contributions. I am not sure if there is a different approach to RT Linux. Reassigning to our RT Linux owner to comment.

    Regards,

    Nick

  • Hi,

    You have done quite a bit research into the history of the TI tree. As you have noticed there are patches that have not been submitted to mainline. The reasons vary and I cannot really speak to why these patches have not been pushed. It is TI policy to work on pushing patches to mainline this process can take awhile though.

    The SDK does build from a TI tree but please note that the TI tree and the kernel LTS tree go through regular auto-merges so the TI tree is the same mainline tree except for the TI patches. Hopefully that will answer your question concerning the vanilla kernel.

    Also please note that the TI kernel is what is tested extensively as part of the SDK release process.

    Best Regards,

    Schuyler

  • Hello Schuyler,

    In the meanwhile we updated from "Processor SDK Linux for AM6X" version 08_01_00_39 to version 08.02.00.14. We expected that the new version would have more patches that are part of mainline. But the contrary is the case.

    08_01_00_39 is based on mainline Linux 5.10.65-rt53 with a number of 1421 patches on top of that version

    08_02_00_14 is based on mainline Linux 5.10.100-rt62 with a number of 1636 patches on top of that version

    Furthermore we don't see any(!) patch brought mainline in the meanwhile.

    The situation is unsatifactory for us. Our policy is to accept only mainline kernels. This is due to maintenance (very long product lifetime) and securtiy (availability of security related kernal patches) reasons. TI seemed to be a vendor that is able to guarantee this. We very much understand, that pushing patches mainline takes time. But we are concerned that this is probably not the case.

    Version 08_02_00_14 offers a mainline Linux build based on (non realtime) kernel version 5.15 (see meta-ti/recipes-kernel/linux/linux-ti-mainline_git.bb). Therefore we presume, that at least a subset of TI patches are part of version 5.15. Might it be true that the patches are simply not yet backported into realtime version 5.10 ?