# 即時 (RT) 核心概覽

即時系統是一種確定性系統，在設定的時間內對事件做出反應。

如果符合下列條件，則系統被歸類為與 RT 相容：

- 沒有無界延遲。
- 精準計算最大反應時間。
- 符合為任務排程設定的標準 (延遲和期限)。

Linux 可被配置為即時作業系統 (RTOS)，其中的即時任務有明確定義的定期執行週期 (週期時間)，並在指定限制 (抖動) 範圍內符合執行標準。

將 Linux 視為 RTOS 時，請套用 `PREEMPT_RT` 修補程式並啟用完全可搶佔核心的組態。

RT 核心維護者為每個發佈的核心版本維護樹外 `PREEMPT_RT` 修補程式。

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by Microsoft Visio, SVG Export explore_QSC.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.7907in" height="2.55661in" viewbox="0 0 344.931 184.076" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" aria-label="../_images/rt-kernel-q-1.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: #000000; fill-opacity: 0.6; stroke: none; stroke-linecap: butt; stroke-width: 1.25 }
.svg-1 .st3 { fill: #f3f3f2; stroke: none; stroke-linecap: butt; stroke-width: 1.25 }
.svg-1 .st4 { fill: #3253dc; stroke: #5d6e43; stroke-linecap: butt; stroke-width: 1.25 }
.svg-1 .st5 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 1.25 }
.svg-1 .st6 { fill: #ffffff; font-family: Arial; font-size: 0.833336em; font-weight: bold }
.svg-1 .st7 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title></title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="Flowchart" v:index="0"></v:layer>	<v:layer v:name="Connector" v:index="1"></v:layer>	<g id="group7-1" transform="translate(1.25,-1.25)" v:mid="7" v:groupcontext="group">		<title></title>		<a xlink:href="https://players.brightcove.net/1414329538001/4JiZQnWhg_default/index.html?videoId=6362756330112" target="_blank">			<g id="shape1-2" v:mid="1" v:groupcontext="shape">				<title></title>				<rect v:rectcontext="foreign" x="0" y="1.62501" width="342.431" height="182.451" class="st1"></rect>				<image x="0" y="1.62501" width="342.431" height="182.451" xlink:href="data:image/png;base64,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"></image>				<rect v:rectcontext="foreign" x="0" y="1.62501" width="342.431" height="182.451" class="st1"></rect>			</g>		</a>		<a xlink:href="https://players.brightcove.net/1414329538001/4JiZQnWhg_default/index.html?videoId=6362756330112" target="_blank">			<g id="group6-6" v:mid="6" v:groupcontext="group">				<title></title>				<g id="shape2-7" v:mid="2" v:groupcontext="shape" v:layermember="0">					<title></title>					<v:custprops>						<v:cp v:nameu="Cost" v:lbl="Cost" v:prompt="" v:type="7" v:format="@" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>						<v:cp v:nameu="ProcessNumber" v:lbl="Process Number" v:prompt="" v:type="2" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>						<v:cp v:nameu="Owner" v:lbl="Owner" v:prompt="" v:type="0" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>						<v:cp v:nameu="Function" v:lbl="Function" v:prompt="" v:type="0" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0" v:val="VT4()"></v:cp>						<v:cp v:nameu="StartDate" v:lbl="Start Date" v:prompt="" v:type="5" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>						<v:cp v:nameu="EndDate" v:lbl="End Date" v:prompt="" v:type="5" v:format="" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0"></v:cp>						<v:cp v:nameu="Status" v:lbl="Status" v:prompt="" v:type="4" v:format=";Not Started;In Progress;Completed;Deferred;Waiting on Input" v:sortkey="" v:invis="false" v:ask="false" v:langid="1033" v:cal="0" v:val="VT4()"></v:cp>					</v:custprops>					<v:userdefs>						<v:ud v:nameu="visVersion" v:prompt="" v:val="VT0(15):26"></v:ud>						<v:ud v:nameu="DefaultWidth" v:prompt="" v:val="VT0(1):0"></v:ud>						<v:ud v:nameu="DefaultHeight" v:prompt="" v:val="VT0(0.75):0"></v:ud>						<v:ud v:nameu="ResizeTxtHeight" v:prompt="" v:val="VT0(0.75):0"></v:ud>					</v:userdefs>					<rect x="0" y="140.778" width="342.431" height="43.2978" class="st2"></rect>				</g>				<g id="shape3-9" v:mid="3" v:groupcontext="shape" v:layermember="1;0" transform="translate(13.7155,-11.2357)">					<title></title>					<v:userdefs>						<v:ud v:nameu="visVersion" v:prompt="" v:val="VT0(15):26"></v:ud>					</v:userdefs>					<path d="M0 173.62 A10.4575 10.4575 0 1 1 20.92 173.62 A10.4575 10.4575 0 1 1 0 173.62 Z" class="st3"></path>				</g>				<g id="shape4-11" v:mid="4" v:groupcontext="shape" transform="translate(28.579,342.601) rotate(180)">					<title></title>					<v:userdefs>						<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>					</v:userdefs>					<path d="M6.55 176 L0 180.41 L6.55 184.08 L6.55 176 Z" class="st4"></path>				</g>				<g id="shape5-13" v:mid="5" v:groupcontext="shape" transform="translate(38.779,-8.34862)">					<title></title>					<desc>Video: Explore Real-time Linux®</desc>					<v:textblock v:margins="rect(4,4,4,4)" v:verticalalign="0"></v:textblock>					<v:textrect cx="134.642" cy="172.11" width="269.29" height="23.9318"></v:textrect>					<rect x="0" y="160.144" width="269.284" height="23.9318" class="st5"></rect>					<text x="4" y="173.14" class="st6" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Video: Explore Real-time Linux®</text>					</g>			</g>		</a>	</g></g>
</svg>

若要安裝修補程式，請參閱 [Versions of PREEMPT_RT patches](https://wiki.linuxfoundation.org/realtime/start)。

備註

即時支援適用於核心空間處理序，不適用於使用者空間。

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by Microsoft Visio, SVG Export RT-kernel-build-sequence.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.0625in" height="1.68056in" viewbox="0 0 796.5 121" xml:space="preserve" color-interpolation-filters="sRGB" class="st8" aria-label="../_images/RT-kernel-build-sequence.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false">	<v:userdefs>		<v:ud v:nameu="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"></v:ud>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-2 .st1 { fill: #fafafa; stroke: #d2d7e1; stroke-width: 1.5 }
.svg-2 .st2 { marker-end: url("#mrkr4-8"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-2 .st3 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.37313432835821 }
.svg-2 .st4 { fill: #6280cc; stroke: #6280cc; stroke-opacity: 0; stroke-width: 2.5 }
.svg-2 .st5 { fill: none; stroke: none; stroke-width: 2.5 }
.svg-2 .st6 { fill: #ffffff; font-family: Roboto Flex, Qualcomm-Next, sans-serif; font-size: 1.16666em }
.svg-2 .st7 { font-size: 1em }
.svg-2 .st8 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-8" class="st3" v:arrowtype="4" v:arrowsize="2" v:setback="5.36" refx="-5.36" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.68,-2.68) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<v:userdefs>		<v:ud v:nameu="msvThemeOrder" v:val="VT0(0):26"></v:ud>	</v:userdefs>	<title>Page-1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="0" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape1057-1" v:mid="1057" v:groupcontext="shape" transform="translate(19.5,-19.5)">		<title>Rectangle</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="39" width="757.5" height="82" rx="4" ry="4" class="st1"></rect>	</g>	<g id="shape1047-3" v:mid="1047" v:groupcontext="shape" transform="translate(177.472,-60.891) rotate(-0.00602379)">		<title>Sheet.1047</title>		<path d="M0 121 L39.2 121" class="st2"></path>	</g>	<g id="shape1045-9" v:mid="1045" v:groupcontext="shape" transform="translate(29.4085,-29.9018) rotate(0.3)">		<title>Rectangle.12</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="59.014" width="151.263" height="61.986" rx="3" ry="3" class="st4"></rect>	</g>	<g id="shape1046-11" v:mid="1046" v:groupcontext="shape" transform="translate(63.7851,-41.4924)">		<title>Sheet.1046</title>		<desc>Set up workspace</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="40.7827" cy="101.992" width="81.57" height="38.0152"></v:textrect>		<rect x="0" y="82.9848" width="81.5655" height="38.0152" class="st5"></rect>		<text x="21.12" y="97.79" class="st6" v:langid="1033"><v:paragraph v:horizalign="1" v:bulletsize="0.166667"></v:paragraph><v:tablist></v:tablist>Set up<v:newlinechar></v:newlinechar><tspan x="5.16" dy="1.2em" class="st7"> </tspan>workspace</text>		</g>	<g id="shape1037-15" v:mid="1037" v:groupcontext="shape" transform="translate(225.2,-30.2467) rotate(0.3)">		<title>Rectangle.1004</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="59.7039" width="151.263" height="61.2961" rx="3" ry="3" class="st4"></rect>	</g>	<g id="shape1042-17" v:mid="1042" v:groupcontext="shape" transform="translate(260.052,-42.9924)">		<title>Sheet.1042</title>		<desc>Enable RT kernel</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="40.3056" cy="103.492" width="80.62" height="35.0152"></v:textrect>		<rect x="0" y="85.9848" width="80.6111" height="35.0152" class="st5"></rect>		<text x="9.1" y="99.29" class="st6" v:langid="1033"><v:paragraph v:horizalign="1" v:bulletsize="0.166667"></v:paragraph><v:tablist></v:tablist>Enable RT <v:newlinechar></v:newlinechar><tspan x="21.41" dy="1.2em" class="st7">kernel</tspan></text>		</g>	<g id="shape1038-21" v:mid="1038" v:groupcontext="shape" transform="translate(420.988,-30.2467) rotate(0.3)">		<title>Rectangle.1005</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="59.7039" width="151.263" height="61.2961" rx="3" ry="3" class="st4"></rect>	</g>	<g id="shape1041-23" v:mid="1041" v:groupcontext="shape" transform="translate(460.289,-42.5745)">		<title>Sheet.1041</title>		<desc>Configure RT kernel</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="35.8567" cy="103.075" width="71.72" height="35.851"></v:textrect>		<rect x="0" y="85.149" width="71.7135" height="35.851" class="st5"></rect>		<text x="5.45" y="98.87" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Configure<v:newlinechar></v:newlinechar><tspan x="6.74" dy="1.2em" class="st7">RT kernel</tspan></text>		</g>	<g id="shape1039-27" v:mid="1039" v:groupcontext="shape" transform="translate(616.776,-30.2467) rotate(0.3)">		<title>Rectangle.1006</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="59.7039" width="151.263" height="61.2961" rx="3" ry="3" class="st4"></rect>	</g>	<g id="shape1040-29" v:mid="1040" v:groupcontext="shape" transform="translate(643.537,-40.1277)">		<title>Sheet.1040</title>		<desc>Verify kernel configurations</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="49.2313" cy="100.628" width="98.47" height="40.7446"></v:textrect>		<rect x="0" y="80.2554" width="98.4627" height="40.7446" class="st5"></rect>		<text x="10.63" y="96.43" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Verify kernel <tspan x="4.17" dy="1.2em" class="st7">configurations</tspan></text>		</g>	<g id="shape1053-33" v:mid="1053" v:groupcontext="shape" transform="translate(373.836,-60.0849) rotate(-1.01902)">		<title>Sheet.1053</title>		<path d="M0 121 L36.49 121" class="st2"></path>	</g>	<g id="shape1055-38" v:mid="1055" v:groupcontext="shape" transform="translate(569.625,-60.0849) rotate(-1.01902)">		<title>Sheet.1055</title>		<path d="M0 121 L36.49 121" class="st2"></path>	</g></g>
</svg>

**圖：建置順序**

## 設定工作區

Qualcomm Linux 核心支援 LTS RT 核心 (6.6.x)，透過 `recipes-kernel/linux/linux-kernel-qcom-rt_6.6.bb` 檔案的 `meta-qcom-realtime` 層中的 Yocto 配方加以維護。

Qualcomm Linux 中的 Linux RT 核心配方稱為 `linux-qcom-base-rt`。

欲深入瞭解如何複製工作區和取得所有 Qualcomm Linux 中繼層以使用 Qualcomm RT Linux，請參閱 [使用即時 Linux 進行同步和建置](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-254/how_to.html#sync-and-build-with-real-time-linux)。

## 啟用 RT 核心

Qualcomm Linux `meta-qcom-realtime` 層支援 `linux-qcom-base-rt` 配方，在預設情況下為支援的機器擷取並建置 Qualcomm Linux 核心。

`meta-qcom-realtime` 層在現有的層上套用變更。在核心建置過程中，`meta-qcom-realtime` 層根據核心版本附加上游 `PREEMPT_RT` 修補程式，並允許即時配置。

備註

- 如果是自訂 BSP，請使用 [linux-qcom-custom-rt_6.6.bb](https://github.com/quic-yocto/meta-qcom-realtime/blob/kirkstone/recipes-kernel/linux/linux-qcom-custom-rt_6.6.bb)。
- 如果是基礎 BSP，請使用 [linux-qcom-base-rt_6.6.bb](https://github.com/quic-yocto/meta-qcom-realtime/blob/kirkstone/recipes-kernel/linux/linux-qcom-base-rt_6.6.bb)。

以下是 RT 基礎參考檔案的範例程式碼：

require recipes-kernel/linux/linux-qcom-base-rt_6.6.bb
    
    SECTION = "RT kernel"
    SUMMARY = "Linux Real time kernel for QCOM devices"
    DESCRIPTION = "Recipe to build real time Linux kernel"
    
    SRC_URI:append = "https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patch-6.6.14-rt21.patch.gz;md5sum=91969a704a73aa918c89d3027bdd3634 \
                   file://qcom_rt.cfg \
                   file://0001-arch-Kconfig-Add-RT-kernel-support.patch \
    
    S = "${WORKDIR}/kernel"
    KERNEL_CONFIG_FRAGMENTS:append = " ${WORKDIR}/qcom_rt.cfg"
    Copy to clipboard

關於支援的機器，請參閱 [識別支援的 Qualcomm 機器](https://docs.qualcomm.com/doc/80-70020-3TC/topic/getting_started_chapter2.html#supported-machines)。

## 配置 RT 核心

- 若要配置 RT 核心，請依照下述程序操作：

SRC_URI:append = "https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patch-6.6.14-rt21.patch.gz;md5sum=91969a704a73aa918c89d3027bdd3634 \
                   file://qcom_rt.cfg \
                   file://0001-arch-Kconfig-Add-RT-kernel-support.patch \
    Copy to clipboard

- 若要在 RT 核心上套用外部組態：

    - 維護 `meta-qcom-realtime/recipes-kernel/linux/linux-qcom-base-rt/configs/qcom_rt.cfg` 配方中的組態檔。
    - 將組態檔附加至 `meta-qcom-realtime/recipes-kernel/linux/linux-qcom-base-rt_6.6.bb` 檔案中的 `KERNEL_CONFIG_FRAGMENTS`。
- 若要將組態片段新增至 RT 核心，請進行以下變更：

KERNEL_CONFIG_FRAGMENTS:append = " ${WORKDIR}/qcom_rt.cfg"
        Copy to clipboard
- 若要修改核心命令列，請將命令列參數新增至 `meta-qcom-realtime/conf/layer.conf` 檔案中。
- 以下範例說明如何修改命令列：

KERNEL_CMDLINE_EXTRA = "root=/dev/disk/by-partlabel/system rw rootwait console=ttyMSM0,115200n8 pcie_pme=nomsi earlycon idle=poll skew_tick=1 rcu_nocbs=1-3 rcu_nocb_poll nohz_full=1-3 irqaffinity=4-7 isolcpus=1-3"
        Copy to clipboard

## RT 核心的核心組態

在 RT 核心中使用選擇性和強制性核心組態。

若要在 RT 核心中啟用完全搶佔，請使用 `CONFIG_PREEMPT_RT`。

預設啟用 `CONFIG_PREEMPT_RT` 旗標，作為 `linux-qcom-base-rt_6.6.bb` 配方的一部分。

以下範例呈現核心組態：

# CONFIG_PREEMPT_RT
      zcat proc/config.gz | grep CONFIG_PREEMPT
    # CONFIG_PREEMPT_NONE is not set
    # CONFIG_PREEMPT_VOLUNTARY is not set
    # CONFIG_PREEMPT is not set
    CONFIG_PREEMPT_RT=y
    Copy to clipboard

若要將 RT 核心反應最佳化，請使用以下組態：

# CONFIG_NO_HZ
      zcat proc/config.gz | grep NO_HZ
    CONFIG_NO_HZ_COMMON=y
    # CONFIG_NO_HZ_IDLE is not set
    CONFIG_NO_HZ_FULL=y
    # CONFIG_NO_HZ is not set
    
    #CONFIG_CPUSETS
     zcat proc/config.gz | grep CPUSETS
    CONFIG_CPUSETS=y
    Copy to clipboard

在設定即時（RT）任務的綁定（affining）時，請設定以下核心參數選項：

- `CONFIG_NO_HZ_FULL` - 啟用時，會配置核心以避免將排程時脈中斷傳送至具有單一可執行任務的 CPU。
- `CONFIG_CPUSETS` - 使用 `CONFIG_CPUSETS` 組態選項啟用 `cpuset`，將 CPU 分組以形成集合。

將 RT 任務仿射至 CPU 集合時，請使用 `CONFIG_CPUSETS` 組態選項：

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by Microsoft Visio, SVG Export compile-RT-kernel.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.0278in" height="2.04638in" viewbox="0 0 794 147.339" xml:space="preserve" color-interpolation-filters="sRGB" class="st7" aria-label="../_images/compile-RT-kernel.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false">	<v:userdefs>		<v:ud v:nameu="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"></v:ud>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-3 .st1 { fill: #fafafa; stroke: #d2d7e1; stroke-width: 1.5 }
.svg-3 .st2 { fill: #6280cc; stroke: #6280cc; stroke-width: 0.75 }
.svg-3 .st3 { fill: none; stroke: none; stroke-width: 2.5 }
.svg-3 .st4 { fill: #ffffff; font-family: Roboto Flex, Qualcomm-Next, sans-serif; font-size: 1.16666em }
.svg-3 .st5 { marker-end: url("#mrkr4-23"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75 }
.svg-3 .st6 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.40983606557377 }
.svg-3 .st7 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-23" class="st6" v:arrowtype="4" v:arrowsize="2" v:setback="4.88" refx="-4.88" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.44,-2.44) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<v:userdefs>		<v:ud v:nameu="msvThemeOrder" v:val="VT0(0):26"></v:ud>	</v:userdefs>	<title>Page-1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="0" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape1012-1" v:mid="1012" v:groupcontext="shape" transform="translate(19.5,-25.7966)">		<title>Rectangle.1012</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="47.1861" width="755" height="100.153" rx="4" ry="4" class="st1"></rect>	</g>	<g id="shape1003-3" v:mid="1003" v:groupcontext="shape" transform="translate(607.142,-39.1556) rotate(0.3)">		<title>Rectangle.1006</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="76.1386" width="152.753" height="71.2005" rx="2.88" ry="2.88" class="st2"></rect>	</g>	<g id="shape1002-5" v:mid="1002" v:groupcontext="shape" transform="translate(416.204,-40.185) rotate(0.3)">		<title>Rectangle.1005</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="76.1386" width="152.753" height="71.2005" rx="2.88" ry="2.88" class="st2"></rect>	</g>	<g id="shape1001-7" v:mid="1001" v:groupcontext="shape" transform="translate(225.265,-41.2143) rotate(0.3)">		<title>Rectangle.1004</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="76.1386" width="152.753" height="71.2005" rx="2.88" ry="2.88" class="st2"></rect>	</g>	<g id="shape1004-9" v:mid="1004" v:groupcontext="shape" transform="translate(606.609,-29.48)">		<title>Sheet.1004</title>		<desc>Tune RT kernel</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="76.3765" cy="100.816" width="152.76" height="93.0467"></v:textrect>		<rect x="0" y="54.2924" width="152.753" height="93.0467" class="st3"></rect>		<text x="29.92" y="105.02" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Tune RT kernel</text>		</g>	<g id="shape1005-12" v:mid="1005" v:groupcontext="shape" transform="translate(421.974,-20.5)">		<title>Sheet.1005</title>		<desc>Debug RT kernel</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="70.0118" cy="94.1696" width="140.03" height="106.339"></v:textrect>		<rect x="0" y="41" width="140.024" height="106.339" class="st3"></rect>		<text x="19.15" y="98.37" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Debug RT kernel</text>		</g>	<g id="shape1006-15" v:mid="1006" v:groupcontext="shape" transform="translate(224.719,-39.3528)">		<title>Sheet.1006</title>		<desc>Test RT kernel</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="76.3765" cy="109.954" width="152.76" height="74.7697"></v:textrect>		<rect x="0" y="72.5694" width="152.753" height="74.7697" class="st3"></rect>		<text x="31.75" y="114.15" class="st4" v:langid="1033"><v:paragraph v:horizalign="1" v:bulletsize="0.166667"></v:paragraph><v:tablist></v:tablist>Test RT kernel</text>		</g>	<g id="shape1007-18" v:mid="1007" v:groupcontext="shape" transform="translate(378.229,-74.2937) rotate(0.313268)">		<title>Sheet.1007</title>		<path d="M0 147.34 L29.65 147.34" class="st5"></path>	</g>	<g id="shape1008-24" v:mid="1008" v:groupcontext="shape" transform="translate(569.167,-73.2498) rotate(0.313268)">		<title>Sheet.1008</title>		<path d="M0 147.34 L29.65 147.34" class="st5"></path>	</g>	<g id="shape1009-29" v:mid="1009" v:groupcontext="shape" transform="translate(34.3126,-41.1898) rotate(0.3)">		<title>Rectangle.12</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="75.2824" width="152.753" height="72.0568" rx="2.88" ry="2.88" class="st2"></rect>	</g>	<g id="shape1010-31" v:mid="1010" v:groupcontext="shape" transform="translate(33.7706,-39.2787)">		<title>Sheet.1010</title>		<desc>Build RT kernel</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="76.3765" cy="109.954" width="152.76" height="74.7697"></v:textrect>		<rect x="0" y="72.5694" width="152.753" height="74.7697" class="st3"></rect>		<text x="29.97" y="114.15" class="st4" v:langid="1033"><v:paragraph v:horizalign="1" v:bulletsize="0.166667"></v:paragraph><v:tablist></v:tablist>Build RT kernel</text>		</g>	<g id="shape1011-34" v:mid="1011" v:groupcontext="shape" transform="translate(187.329,-72.9171) rotate(0.313268)">		<title>Sheet.1011</title>		<path d="M0 147.34 L29.65 147.34" class="st5"></path>	</g></g>
</svg>

**圖：RT 核心驗證**

## 建置 RT 核心

若要建置 RT 核心，請執行以下命令：

MACHINE=<SoC>-<board>-<variant> DISTRO=qcom-wayland QCOM_SELECTED_BSP=base source setup-environment
    
    #verify realtime layer is present
    
    bitbake-layers show-layers | grep realtime
       meta-qcom-realtime    /layers/meta-qcom-realtime  12
    
    # compile
      bitbake qcom-console-image
    Copy to clipboard

## 測試 RT 核心

Linux 基礎 RT 測試套件提供一整套的測試。

循環測試可確定 RT 應用程式的最好和最壞情況延遲。

1. 存取位於 [rt-tests/rt-tests.git](https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/) 的 RT 測試套件原始碼。
2. 若要將 RT 測試套件納入為映像的一部分，請變更標準 Yocto 建置中的 `layer.conf` 檔案：

IMAGE_INSTALL:append = "rt-tests numactl"
        Copy to clipboard
3. 執行以下循環測試：

cgexec -g cpuset:core1-3 cyclictest -a 1-3 -t 3 -m -l 100000000 -i 1000 -p 99 -h 800
        Copy to clipboard

如需更多資訊，請參閱 [RT-Tests](https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests)。

## 調整 RT 核心

調整 RT 核心，針對裝置中的 RT 任務實現確定性延遲。

將執行 RT 任務的 CPU 核心設為以最高工作頻率運作，同時防止 CPU 頻率的熱緩解。例如，在閒置睡眠情境中，RT 任務因為 CPU 喚醒時間延遲而面臨排程延遲。

如果是有八個 CPU 核心的系統，請使用以下系統組態：

- 以下範例中的 RT 任務仿射至核心 1-3。
- CPU 核心 1-3 以隔離模式運作，所有讀取-複製-更新 (RCU) 都仿射至核心 4-7。
- IRQ 仿射至核心命令列引數中的核心 4-7。
- 針對 CPU 核心 1-3 停用系統睡眠，並設為以最大頻率運作。

# Disable low power mode and sleep for CPU 1-3
          echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state2/disable
          echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state1/disable
          echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state0/disable
          echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state0/disable
          echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state1/disable
          echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state2/disable
          echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state2/disable
          echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state1/disable
          echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state0/disable
        
        # Enable max freq for cpu group 0-3
          echo 1958400 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
        
          echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
        
        # form cgroup for core 0-3
          mkdir /sys/fs/cgroup/cpuset/core0/
          mkdir /sys/fs/cgroup/cpuset/core1/
          mkdir /sys/fs/cgroup/cpuset/core2/
          mkdir /sys/fs/cgroup/cpuset/core3/
        
          echo 0 > /sys/fs/cgroup/cpuset/core0/cpuset.mems
          echo 0 > /sys/fs/cgroup/cpuset/core1/cpuset.mems
          echo 0 > /sys/fs/cgroup/cpuset/core2/cpuset.mems
          echo 0 > /sys/fs/cgroup/cpuset/core3/cpuset.mems
        
          echo 0 > /sys/fs/cgroup/cpuset/core0/cpuset.cpus
          echo 1 > /sys/fs/cgroup/cpuset/core1/cpuset.cpus
          echo 2 > /sys/fs/cgroup/cpuset/core2/cpuset.cpus
          echo 3 > /sys/fs/cgroup/cpuset/core3/cpuset.cpus
        
          mkdir /sys/fs/cgroup/cpuset/core1-3/
          echo 0 > /sys/fs/cgroup/cpuset/core1-3/cpuset.mems
          echo 1-3 > /sys/fs/cgroup/cpuset/core1-3/cpuset.cpus
        Copy to clipboard

以下範例說明如何在 `meta-qcom-realtime/conf/layer.conf` 中新增核心命令列參數以停用 RCU 回呼 (**rcu\_nocbs**)：

- CPU 核心 1-3
- IRQ 仿射至核心 4-7
- 隔離 CPU 1-3

KERNEL_CMDLINE_EXTRA = "root=/dev/disk/by-partlabel/system rw rootwait console=ttyMSM0,115200n8 pcie_pme=nomsi earlycon skew_tick=1 **rcu\_nocbs**=1-3 rcu_nocb_poll nohz_full=1-3 irqaffinity=4-7 isolcpus=1-3"
    Copy to clipboard

Last Published: Jan 01, 2026

[Previous Topic
配置 pinctrl 驅動程式](https://docs.qualcomm.com/bundle/publicresource/80-70020-3TC/topics/pinctrl-configuration.md) [Next Topic
啟用虛擬化](https://docs.qualcomm.com/bundle/publicresource/80-70020-3TC/topics/virtualization.md)