PREEMPT_RT on Linux QoriQ

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PREEMPT_RT on Linux QoriQ

374 Views
pb3
Contributor II

Hi,

we are currently using the NXP QorIQ Linux kernel from the linux-6.12-rt branch, but we would like to move to a newer kernel version, possibly Linux 6.18.

I have a few questions regarding the RT kernel support and branch strategy:

  • What exactly is the difference between linux-6.12-rt and lf-6.12.y?

  • Is a separate linux-6.18-rt branch planned, similarly to linux-6.12-rt?

  • If not, is lf-6.18.y intended to be used directly with CONFIG_PREEMPT_RT=y?

My understanding is that linux-6.12-rt contains additional PREEMPT_RT-related changes compared to lf-6.12.y. However, starting with Linux 6.12, the core PREEMPT_RT support has been merged into the upstream kernel:
https://kernel-internals.org/locking/preempt-rt/

At the same time, I can see that RT-specific development and stable RT patch releases still continue separately upstream.

Given this, I would like to understand how this is handled in the newer NXP QorIQ releases.

For Linux 6.18, should we simply use the lf-6.18.y branch with CONFIG_PREEMPT_RT=y, with all NXP-specific changes required for PREEMPT_RT already included there?

Or is a separate QorIQ RT branch/release still planned, containing additional RT patches on top of lf-6.18.y?

If no separate RT branch is planned, are there any additional RT patches that NXP recommends applying on top of lf-6.18.y?

0 Kudos
Reply
3 Replies

307 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

For QorIQ/Layerscape, do not assume that lf-6.18.y plus CONFIG_PREEMPT_RT=y is equivalent to NXP’s supported RT release. NXP’s current Real-Time Edge material shows Linux PREEMPT_RT 6.18 releases based on LF 6.18, while internal development tracks a separate downstream RT patch stack.

Use the matching NXP 6.18 RT release, preferably the latest one available for your QorIQ platform. Compare your current linux-6.12-rt tree against the corresponding LF 6.18 base, but do not assume that enabling CONFIG_PREEMPT_RT=y alone includes all NXP-specific RT changes.

Also validate:

  • architecture support for ARCH_SUPPORTS_RT;
  • NXP networking, DPAA/DPAA2, ENETC, DSA, TSN, PTP, and interrupt behavior;
  • latency under representative load;
  • any driver-specific RT patches in the NXP downstream stack.

The upstream article’s main qualification is also relevant: PREEMPT_RT became mainline-selectable in 6.12, but support is architecture-dependent and does not imply that every vendor driver has been validated for deterministic behavior

Regards

0 Kudos
Reply

304 Views
pb3
Contributor II
Thanks for clarification. Do you know when, more or less can we expect the NXP Linux 6.18 RT support release?
0 Kudos
Reply

303 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

So, if you mean the next 6.18-based RT update, the current roadmap points to Real-Time Edge 3.6 in December 2026.

Note that the standard i.MX Linux BSP—not RT—already has newer 6.18 releases, including 6.18.37 on September 24, 2026.

Regards

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2417891%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EPREEMPT_RT%20on%20Linux%20QoriQ%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2417891%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EHi%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ewe%20are%20currently%20using%20the%20NXP%20QorIQ%20Linux%20kernel%20from%20the%20%3C%2FSPAN%3E%3CSPAN%3Elinux-6.12-rt%3C%2FSPAN%3E%3CSPAN%3E%20branch%2C%20but%20we%20would%20like%20to%20move%20to%20a%20newer%20kernel%20version%2C%20possibly%20Linux%206.18.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EI%20have%20a%20few%20questions%20regarding%20the%20RT%20kernel%20support%20and%20branch%20strategy%3A%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%3E%3CSPAN%3EWhat%20exactly%20is%20the%20difference%20between%20%3C%2FSPAN%3E%3CSPAN%3Elinux-6.12-rt%3C%2FSPAN%3E%3CSPAN%3E%20and%20%3C%2FSPAN%3E%3CSPAN%3Elf-6.12.y%3C%2FSPAN%3E%3CSPAN%3E%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%3CSPAN%3EIs%20a%20separate%20%3C%2FSPAN%3E%3CSPAN%3Elinux-6.18-rt%3C%2FSPAN%3E%3CSPAN%3E%20branch%20planned%2C%20similarly%20to%20%3C%2FSPAN%3E%3CSPAN%3Elinux-6.12-rt%3C%2FSPAN%3E%3CSPAN%3E%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%3CSPAN%3EIf%20not%2C%20is%20%3C%2FSPAN%3E%3CSPAN%3Elf-6.18.y%3C%2FSPAN%3E%3CSPAN%3E%20intended%20to%20be%20used%20directly%20with%20%3C%2FSPAN%3E%3CSPAN%3ECONFIG_PREEMPT_RT%3Dy%3C%2FSPAN%3E%3CSPAN%3E%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSPAN%3EMy%20understanding%20is%20that%20%3C%2FSPAN%3E%3CSPAN%3Elinux-6.12-rt%3C%2FSPAN%3E%3CSPAN%3E%20contains%20additional%20PREEMPT_RT-related%20changes%20compared%20to%20%3C%2FSPAN%3E%3CSPAN%3Elf-6.12.y%3C%2FSPAN%3E%3CSPAN%3E.%20However%2C%20starting%20with%20Linux%206.12%2C%20the%20core%20PREEMPT_RT%20support%20has%20been%20merged%20into%20the%20upstream%20kernel%3A%3C%2FSPAN%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fkernel-internals.org%2Flocking%2Fpreempt-rt%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3E%3CSPAN%3Ehttps%3A%2F%2Fkernel-internals.org%2Flocking%2Fpreempt-rt%2F%3C%2FSPAN%3E%3C%2FA%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EAt%20the%20same%20time%2C%20I%20can%20see%20that%20RT-specific%20development%20and%20stable%20RT%20patch%20releases%20still%20continue%20separately%20upstream.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EGiven%20this%2C%20I%20would%20like%20to%20understand%20how%20this%20is%20handled%20in%20the%20newer%20NXP%20QorIQ%20releases.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EFor%20Linux%206.18%2C%20should%20we%20simply%20use%20the%20%3C%2FSPAN%3E%3CSPAN%3Elf-6.18.y%3C%2FSPAN%3E%3CSPAN%3E%20branch%20with%20%3C%2FSPAN%3E%3CSPAN%3ECONFIG_PREEMPT_RT%3Dy%3C%2FSPAN%3E%3CSPAN%3E%2C%20with%20all%20NXP-specific%20changes%20required%20for%20PREEMPT_RT%20already%20included%20there%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EOr%20is%20a%20separate%20QorIQ%20RT%20branch%2Frelease%20still%20planned%2C%20containing%20additional%20RT%20patches%20on%20top%20of%20%3C%2FSPAN%3E%3CSPAN%3Elf-6.18.y%3C%2FSPAN%3E%3CSPAN%3E%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EIf%20no%20separate%20RT%20branch%20is%20planned%2C%20are%20there%20any%20additional%20RT%20patches%20that%20NXP%20recommends%20applying%20on%20top%20of%20%3C%2FSPAN%3E%3CSPAN%3Elf-6.18.y%3C%2FSPAN%3E%3CSPAN%3E%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2418165%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PREEMPT_RT%20on%20Linux%20QoriQ%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2418165%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EFor%20%3CSTRONG%3EQorIQ%2FLayerscape%3C%2FSTRONG%3E%2C%20do%20not%20assume%20that%20%3CCODE%20class%3D%22p8i6j0h%22%3Elf-6.18.y%3C%2FCODE%3E%20plus%20%3CCODE%20class%3D%22p8i6j0h%22%3ECONFIG_PREEMPT_RT%3Dy%3C%2FCODE%3E%20is%20equivalent%20to%20NXP%E2%80%99s%20supported%20RT%20release.%20NXP%E2%80%99s%20current%20Real-Time%20Edge%20material%20shows%20Linux%20PREEMPT_RT%206.18%20releases%20based%20on%20LF%206.18%2C%20while%20internal%20development%20tracks%20a%20separate%20downstream%20RT%20patch%20stack.%20%3CA%20id%3D%22base-ui-%3Arp2%3A%22%20class%3D%22wdbi343%20wdbi341%20_1ibi0s3ei%20_1ibi0s38m%22%20tabindex%3D%220%22%20role%3D%22button%22%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Frelease-note%2FRN00161.pdf%22%20rel%3D%22noreferrer%20nofollow%20noopener%22%20aria-expanded%3D%22false%22%20aria-haspopup%3D%22dialog%22%20data-base-ui-click-trigger%3D%22%22%20data-label%3D%221%22%20aria-label%3D%22Citation%201%22%20target%3D%22_blank%22%3E%3C%2FA%3E%3C%2FP%3E%0A%3CP%20class%3D%22p8i6j03%20paragraph%22%3EUse%20the%20matching%20NXP%206.18%20RT%20release%2C%20preferably%20the%20latest%20one%20available%20for%20your%20QorIQ%20platform.%20Compare%20your%20current%20%3CCODE%20class%3D%22p8i6j0h%22%3Elinux-6.12-rt%3C%2FCODE%3E%20tree%20against%20the%20corresponding%20LF%206.18%20base%2C%20but%20do%20not%20assume%20that%20enabling%20%3CCODE%20class%3D%22p8i6j0h%22%3ECONFIG_PREEMPT_RT%3Dy%3C%2FCODE%3E%20alone%20includes%20all%20NXP-specific%20RT%20changes.%3C%2FP%3E%0A%3CP%20class%3D%22p8i6j03%20paragraph%22%3EAlso%20validate%3A%3C%2FP%3E%0A%3CUL%20class%3D%22p8i6j09%20p8i6j04%22%3E%0A%3CLI%20class%3D%22p8i6j0c%22%3Earchitecture%20support%20for%20%3CCODE%20class%3D%22p8i6j0h%22%3EARCH_SUPPORTS_RT%3C%2FCODE%3E%3B%3C%2FLI%3E%0A%3CLI%20class%3D%22p8i6j0c%22%3ENXP%20networking%2C%20DPAA%2FDPAA2%2C%20ENETC%2C%20DSA%2C%20TSN%2C%20PTP%2C%20and%20interrupt%20behavior%3B%3C%2FLI%3E%0A%3CLI%20class%3D%22p8i6j0c%22%3Elatency%20under%20representative%20load%3B%3C%2FLI%3E%0A%3CLI%20class%3D%22p8i6j0c%22%3Eany%20driver-specific%20RT%20patches%20in%20the%20NXP%20downstream%20stack.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%20class%3D%22p8i6j03%20paragraph%22%3EThe%20upstream%20article%E2%80%99s%20main%20qualification%20is%20also%20relevant%3A%20PREEMPT_RT%20became%20mainline-selectable%20in%206.12%2C%20but%20support%20is%20architecture-dependent%20and%20does%20not%20imply%20that%20every%20vendor%20driver%20has%20been%20validated%20for%20deterministic%20behavior%3C%2FP%3E%0A%3CP%20class%3D%22p8i6j03%20paragraph%22%3ERegards%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2418178%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PREEMPT_RT%20on%20Linux%20QoriQ%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2418178%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EThanks%20for%20clarification.%20Do%20you%20know%20when%2C%20more%20or%20less%20can%20we%20expect%20the%20NXP%20Linux%206.18%20RT%20support%20release%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2418187%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PREEMPT_RT%20on%20Linux%20QoriQ%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2418187%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20class%3D%22p8i6j03%20paragraph%22%3ESo%2C%20if%20you%20mean%20the%20next%206.18-based%20RT%20update%2C%20the%20current%20roadmap%20points%20to%20%3CSTRONG%3EReal-Time%20Edge%203.6%20in%20December%202026%3C%2FSTRONG%3E.%20%3CA%20id%3D%22base-ui-%3Ar5j3%3A%22%20class%3D%22wdbi343%20wdbi341%20_1ibi0s3ei%20_1ibi0s38m%22%20tabindex%3D%220%22%20role%3D%22button%22%20href%3D%22https%3A%2F%2Fnxp1.sharepoint.com%2Fteams%2F210_48%2FShared%2520Documents%2FPartners%2FPartner%2520Calls%2F2026%2FQ2%25202026%2520Partner%2520Update%2520Call%2FQ2%25202026%2520Partner%2520Update%2520for%2520MCU%2520%2526%2520MPU%2520(slides).pdf%3Fweb%3D1%22%20rel%3D%22noreferrer%20nofollow%20noopener%22%20aria-expanded%3D%22false%22%20aria-haspopup%3D%22dialog%22%20data-base-ui-click-trigger%3D%22%22%20data-label%3D%223%22%20aria-label%3D%22Citation%203%22%20target%3D%22_blank%22%3E%3C%2FA%3E%3C%2FP%3E%0A%3CP%20class%3D%22p8i6j03%20paragraph%22%3ENote%20that%20the%20standard%20i.MX%20Linux%20BSP%E2%80%94not%20RT%E2%80%94already%20has%20newer%206.18%20releases%2C%20including%20%3CSTRONG%3E6.18.37%20on%20September%2024%2C%202026%3C%2FSTRONG%3E.%20%3CA%20id%3D%22base-ui-%3Ar5j6%3A%22%20class%3D%22wdbi343%20wdbi341%20_1ibi0s3ei%20_1ibi0s38m%22%20tabindex%3D%220%22%20role%3D%22button%22%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Frelease-note%2FRN00210.pdf%22%20rel%3D%22noreferrer%20nofollow%20noopener%22%20aria-expanded%3D%22false%22%20aria-haspopup%3D%22dialog%22%20data-base-ui-click-trigger%3D%22%22%20data-label%3D%224%22%20aria-label%3D%22Citation%204%22%20target%3D%22_blank%22%3E%3C%2FA%3E%3C%2FP%3E%0A%3CP%20class%3D%22p8i6j03%20paragraph%22%3ERegards%3C%2FP%3E%3C%2FLINGO-BODY%3E