Skip to contentSkip to conversation

Question about the maintenance of OOT RT patches for LTS releases (v12.x and v18.x)

DISCUSSION Luis Claudio R. Goncalves 4 participants 13 messages Jun 22 – Aug 21

lore
Share & tools
lore
#0 lore raw

Hello!

The question is simple:

Should we have somebody maintaining the OOT RT patches for v12.x and v18.x, the LTS versions that already have PREEMPT_RT in-tree?

As we still have a few OOT patches, after a while, people using PREEMPT_RT on those versions may encounter conflicts trying to apply the old patches. And as those patches are not in-tree, the fixes won't probably be routed via Stable.

Best regards,
Luis

#1 lore raw
Quoted 11 lines · Luis Claudio R. Goncalves

Hello!

The question is simple:

Should we have somebody maintaining the OOT RT patches for v12.x and v18.x, the LTS versions that already have PREEMPT_RT in-tree?

As we still have a few OOT patches, after a while, people using PREEMPT_RT on those versions may encounter conflicts trying to apply the old patches. And as those patches are not in-tree, the fixes won't probably be routed via Stable.

For 6.18, we have:
- 8250 console
- i915
- arm-32
- powerpc

For 6.12, we have additionally
- ktimers thread
- the whole lazy-preempt

So for v6.12 there are bits outstanding which can impact you. For v6.18 if you are on arm64 then the mainline version is slightly better than on x86 because on arm64 you might be using the pl011 UART which has nbcon support since v6.15 while on x86 you almost always have the 8250 which is not yet with nbcon support in-tree.

These are the missing bits. None of them are essential. If you on x86 and your kernel crashes, it is more likely to see a backtrace with nbcon driver than without it.

Quoted 2 lines

Best regards,
Luis

Sebastian

#2 lore raw
Quoted 19 lines · Sebastian Andrzej Siewior
Quoted 11 lines · Luis Claudio R. Goncalves

Hello!

The question is simple:

Should we have somebody maintaining the OOT RT patches for v12.x and v18.x, the LTS versions that already have PREEMPT_RT in-tree?

As we still have a few OOT patches, after a while, people using PREEMPT_RT on those versions may encounter conflicts trying to apply the old patches. And as those patches are not in-tree, the fixes won't probably be routed via Stable.

For 6.18, we have:
- 8250 console
- i915
- arm-32
- powerpc

Quoted 3 lines

For 6.12, we have additionally
- ktimers thread
- the whole lazy-preempt

I need to correct myself here, our local hero Daniel Wagner is maintaining the v6.12-rt version. Sorry for that :)

Sebastian, just to make sure I understood your answer, then we don't need to keep the OOT patches up-to-date for v6.18-rt specifically? My question came from comments raised on the last two RT maintainers meetings and the LF RT Board meeting. I just want to have a good answer if somebody else asks about that. And to volunteer if work is needed.

Best,
Luis

Quoted 6 lines

So for v6.12 there are bits outstanding which can impact you. For v6.18 if you are on arm64 then the mainline version is slightly better than on x86 because on arm64 you might be using the pl011 UART which has nbcon support since v6.15 while on x86 you almost always have the 8250 which is not yet with nbcon support in-tree.

Quoted 9 lines

These are the missing bits. None of them are essential. If you on x86 and your kernel crashes, it is more likely to see a backtrace with nbcon driver than without it.

Quoted 2 lines

Best regards,
Luis

Sebastian

---end quoted text---

#3 lore raw

Hello,

just adding one datapoint here in case someone is wondering if there are users out there? ;-)

Am Wed, Jun 24, 2026 at 08:14:51AM -0300 schrieb Luis Claudio R. Goncalves:

Quoted 2 lines

I need to correct myself here, our local hero Daniel Wagner is maintaining the v6.12-rt version. Sorry for that :)

Good to know. Thank you for maintaing it for v6.12. :-)

Quoted 5 lines

Sebastian, just to make sure I understood your answer, then we don't need to keep the OOT patches up-to-date for v6.18-rt specifically? My question came from comments raised on the last two RT maintainers meetings and the LF RT Board meeting. I just want to have a good answer if somebody else asks about that. And to volunteer if work is needed.

We still use v6.12 LTS with PREEMPT_RT on arm32 (at91), and plan to use PREEMPT_RT on at91 (sam9x60, sama5d2) in the future.

If there are no regular patches for v6.18 we will probably skip that and use the LTS coming later this year.

Greets
Alex

#4 lore raw
Quoted 4 lines · Alexander Dahl

Hello,

just adding one datapoint here in case someone is wondering if there are users out there? ;-)

Sure. Having an update from _any_ user feels good. At least the work is used ;)

Quoted 11 lines
Quoted 5 lines

Sebastian, just to make sure I understood your answer, then we don't need to keep the OOT patches up-to-date for v6.18-rt specifically? My question came from comments raised on the last two RT maintainers meetings and the LF RT Board meeting. I just want to have a good answer if somebody else asks about that. And to volunteer if work is needed.

We still use v6.12 LTS with PREEMPT_RT on arm32 (at91), and plan to use PREEMPT_RT on at91 (sam9x60, sama5d2) in the future.

If there are no regular patches for v6.18 we will probably skip that and use the LTS coming later this year.

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Quoted 2 lines

Greets
Alex

Sebastian

#5 lore raw

On June 25, 2026 thus sayeth Sebastian Andrzej Siewior:

Quoted 8 lines · Alexander Dahl
Quoted 4 lines

Hello,

just adding one datapoint here in case someone is wondering if there are users out there? ;-)

Sure. Having an update from _any_ user feels good. At least the work is used ;)

Yeah I should probably be better at thanking everyone for providing the stable branches. Thank you all :)

Quoted 7 lines
Quoted 7 lines
Quoted 6 lines

Sebastian, just to make sure I understood your answer, then we don't need to keep the OOT patches up-to-date for v6.18-rt specifically? My question came from comments raised on the last two RT maintainers meetings and the LF RT Board meeting. I just want to have a good answer if somebody else asks about that. And to volunteer if work is needed.

Quoted 8 lines
Quoted 5 lines

We still use v6.12 LTS with PREEMPT_RT on arm32 (at91), and plan to use PREEMPT_RT on at91 (sam9x60, sama5d2) in the future.

If there are no regular patches for v6.18 we will probably skip that and use the LTS coming later this year.

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Did we decide to skip v6.18 ? There are a few people internally asking me for a roadmap again with some guidance on the lifetime of the branch.

~Bryan

#6 lore raw
Quoted 5 lines · Bryan Brattlof
Quoted 2 lines

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Did we decide to skip v6.18 ? There are a few people internally asking me for a roadmap again with some guidance on the lifetime of the branch.

As of v6.18.45 the v6.18.37-rt6 applies as-is. Winthin the git tree, the stable tree tag can be merged. Does this work?

Quoted 1 line

~Bryan

Sebastian

#7 lore raw
Quoted 9 lines · Sebastian Andrzej Siewior
Quoted 5 lines · Bryan Brattlof
Quoted 2 lines

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Did we decide to skip v6.18 ? There are a few people internally asking me for a roadmap again with some guidance on the lifetime of the branch.

As of v6.18.45 the v6.18.37-rt6 applies as-is. Winthin the git tree, the stable tree tag can be merged. Does this work?

There seems to be a conflict when applying the 8250 nbcon patches. IIRC you fixed that conflict (or something quite close to that) on v7.1-rc.

The conflict:

$ git checkout -b test01 v6.18.37-rt6
$ git rebase -v v6.18.45
  Changes from 0c503cf3dde2e53614f05261ece12f9d3d4c3c20 to bf3be28f6721e24961992ebb9e61c0cf21a56806:
  ...
  Rebasing (1/29)
  dropping bea58d7ab5ba4367a3208ecd1854a74b66b21f51 net: gro_cells: fix lock imbalance in gro_cells_receive() -- patch contents already upstream
  Rebasing (2/29)
  Auto-merging drivers/tty/serial/8250/8250_port.c
  CONFLICT (content): Merge conflict in drivers/tty/serial/8250/8250_port.c
  Auto-merging include/linux/serial_8250.h
  error: could not apply 0b053910fa95... Reapply "serial: 8250: Switch to nbcon console"

Bryan, is this the problem you are seeing?

Luis

Quoted 5 lines
Quoted 2 lines

~Bryan

Sebastian

---end quoted text---

#8 lore raw
Quoted 28 lines · Luis Claudio R. Goncalves
Quoted 9 lines · Sebastian Andrzej Siewior
Quoted 5 lines · Bryan Brattlof
Quoted 2 lines

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Did we decide to skip v6.18 ? There are a few people internally asking me for a roadmap again with some guidance on the lifetime of the branch.

As of v6.18.45 the v6.18.37-rt6 applies as-is. Winthin the git tree, the stable tree tag can be merged. Does this work?

There seems to be a conflict when applying the 8250 nbcon patches. IIRC you fixed that conflict (or something quite close to that) on v7.1-rc.

The conflict:

$ git checkout -b test01 v6.18.37-rt6
$ git rebase -v v6.18.45
  Changes from 0c503cf3dde2e53614f05261ece12f9d3d4c3c20 to bf3be28f6721e24961992ebb9e61c0cf21a56806:
  ...
  Rebasing (1/29)
  dropping bea58d7ab5ba4367a3208ecd1854a74b66b21f51 net: gro_cells: fix lock imbalance in gro_cells_receive() -- patch contents already upstream
  Rebasing (2/29)
  Auto-merging drivers/tty/serial/8250/8250_port.c
  CONFLICT (content): Merge conflict in drivers/tty/serial/8250/8250_port.c
  Auto-merging include/linux/serial_8250.h
  error: could not apply 0b053910fa95... Reapply "serial: 8250: Switch to nbcon console"
Quoted 1 line

Bryan, is this the problem you are seeing?

This is odd. Why does it drop "net: gro_cells: fix lock imbalance"? This has been removed in -rt2 already.
I'm able here to merge v6.18.45 into v6.18.37-rt6 without a conflict. Also applying the quilt queue on top v6.18.45 works.

Quoted 1 line

Luis

Sebastian

#9 lore raw
Quoted 29 lines · Sebastian Andrzej Siewior
Quoted 28 lines · Luis Claudio R. Goncalves
Quoted 9 lines · Sebastian Andrzej Siewior
Quoted 5 lines · Bryan Brattlof
Quoted 2 lines

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Did we decide to skip v6.18 ? There are a few people internally asking me for a roadmap again with some guidance on the lifetime of the branch.

As of v6.18.45 the v6.18.37-rt6 applies as-is. Winthin the git tree, the stable tree tag can be merged. Does this work?

There seems to be a conflict when applying the 8250 nbcon patches. IIRC you fixed that conflict (or something quite close to that) on v7.1-rc.

The conflict:

$ git checkout -b test01 v6.18.37-rt6
$ git rebase -v v6.18.45
  Changes from 0c503cf3dde2e53614f05261ece12f9d3d4c3c20 to bf3be28f6721e24961992ebb9e61c0cf21a56806:
  ...
  Rebasing (1/29)
  dropping bea58d7ab5ba4367a3208ecd1854a74b66b21f51 net: gro_cells: fix lock imbalance in gro_cells_receive() -- patch contents already upstream
  Rebasing (2/29)
  Auto-merging drivers/tty/serial/8250/8250_port.c
  CONFLICT (content): Merge conflict in drivers/tty/serial/8250/8250_port.c
  Auto-merging include/linux/serial_8250.h
  error: could not apply 0b053910fa95... Reapply "serial: 8250: Switch to nbcon console"
Quoted 6 lines
Quoted 1 line

Bryan, is this the problem you are seeing?

This is odd. Why does it drop "net: gro_cells: fix lock imbalance"? This has been removed in -rt2 already.
I'm able here to merge v6.18.45 into v6.18.37-rt6 without a conflict. Also applying the quilt queue on top v6.18.45 works.

Sebastian, I can merge v6.18.45 into v6.18.37-rt6 too. I can not rebase from v6.18.37-rt6 to v6.18.45. But if I repeat the process with v6.18.37-rt6-rebase, it works fine. In any case, if that is not the problem that prompted Bryan's email, no need to focus on that. I was just trying to understand the reasoning behind the question and spotted the rebase failure.

Just for reference:

$ git show v6.18.37-rt6 | grep ^commit
  commit a3c2a803731b7b3d139c45a019cf43c8759fcc93
$ git show v6.18.37-rt6-rebase | grep ^commit
  commit 2fdaf62aeab36227d0789a3132780ea74b7e06c5
$ git diff v6.18.37-rt6 v6.18.37-rt6-rebase
$ 

Best
Luis

#10 lore raw
Quoted 2 lines · Luis Claudio R. Goncalves

Sebastian, I can merge v6.18.45 into v6.18.37-rt6 too. I can not rebase from v6.18.37-rt6 to v6.18.45. But if I repeat the process with

That is expected. That branch has all the patches but also intermediate patches. The "exact" patches are probably easy to recognize as applied and dropped as part of the rebase process but the intermediate patches/ commits can result in a clash aborting the process.

So applying the quilt queue should work and merging the stable tag in either of the two "complete" branches, too. Just don't rebase anything.

Quoted 4 lines

v6.18.37-rt6-rebase, it works fine. In any case, if that is not the problem that prompted Bryan's email, no need to focus on that. I was just trying to understand the reasoning behind the question and spotted the rebase failure.

Okay.

Quoted 2 lines

Best
Luis

Sebastian

#11 lore raw
In reply to Luis Claudio R. Goncalves

Hey Luis!

On August 20, 2026 thus sayeth Luis Claudio R. Goncalves:

Quoted 28 lines · Sebastian Andrzej Siewior
Quoted 9 lines · Bryan Brattlof
Quoted 5 lines
Quoted 2 lines

I did assume we have v6.18 in maintenance but somehow it skipped. *I* usually skip updates if there are no clashes and nothing changes.

Did we decide to skip v6.18 ? There are a few people internally asking me for a roadmap again with some guidance on the lifetime of the branch.

As of v6.18.45 the v6.18.37-rt6 applies as-is. Winthin the git tree, the stable tree tag can be merged. Does this work?

There seems to be a conflict when applying the 8250 nbcon patches. IIRC you fixed that conflict (or something quite close to that) on v7.1-rc.

The conflict:

$ git checkout -b test01 v6.18.37-rt6
$ git rebase -v v6.18.45
  Changes from 0c503cf3dde2e53614f05261ece12f9d3d4c3c20 to bf3be28f6721e24961992ebb9e61c0cf21a56806:
  ...
  Rebasing (1/29)
  dropping bea58d7ab5ba4367a3208ecd1854a74b66b21f51 net: gro_cells: fix lock imbalance in gro_cells_receive() -- patch contents already upstream
  Rebasing (2/29)
  Auto-merging drivers/tty/serial/8250/8250_port.c
  CONFLICT (content): Merge conflict in drivers/tty/serial/8250/8250_port.c
  Auto-merging include/linux/serial_8250.h
  error: could not apply 0b053910fa95... Reapply "serial: 8250: Switch to nbcon console"
Quoted 2 lines

Bryan, is this the problem you are seeing?

Yep that exactly what I saw as well. Though it looks like our teams are able to merge v6.18.37-rt6 into their tree[0]. My guess is because they're also merging Greg's stable syncs everything worked out? ¯\(ツ)/¯

Thank you again Luis and Sebastian

~Bryan

[0] https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?h=ti-rt-linux-6.18.y-arm32-cicd

#12 lore raw
In reply to Luis Claudio R. Goncalves
Quoted 2 lines · Luis Claudio R. Goncalves

Sebastian, just to make sure I understood your answer, then we don't need to keep the OOT patches up-to-date for v6.18-rt specifically? My question

I did update v6.18 recently. I do think at the very least the 8250 bits are important in case something goes wrong.

Quoted 3 lines

came from comments raised on the last two RT maintainers meetings and the LF RT Board meeting. I just want to have a good answer if somebody else asks about that. And to volunteer if work is needed.

There isn't a lot that clashes in v6.12 and it is even less in v6.18. However the printk/ serial changes in v6.18 caused some fallout exactly there.
Hopefully we get the 8250 bits by the end of the year including i915 and then we have just powerpc left and that one sysfs file and we can call it a day.

Quoted 2 lines

Best,
Luis

Sebastian