chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中斷“搬家”指南:從應用到操作,手把手教你轉(zhuǎn)移中斷核心(RK3588)

jf_44130326 ? 來源:Linux1024 ? 2026-02-04 16:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在高性能服務器或嵌入式設備(如瑞芯微RK3588)上,中斷處理的CPU核心綁定是優(yōu)化性能的關(guān)鍵手段之一。比如網(wǎng)卡中斷默認綁在小核上時,高網(wǎng)絡負載會導致小核過載,而大核卻閑置;通過中斷轉(zhuǎn)移,把網(wǎng)卡中斷綁到性能更強的大核,能顯著提升網(wǎng)絡吞吐量、降低延遲。

wKgZO2kamRWAYpqtAAAlebNTssU358.png

一、為什么要做中斷轉(zhuǎn)移?

中斷是CPU處理硬件事件的信號,但默認情況下,中斷可能被隨機分發(fā)到不同CPU核心。在以下場景,中斷轉(zhuǎn)移尤為重要:

?異構(gòu)CPU(大小核):如RK3588A76大核(性能強)和A55小核(能效高),把網(wǎng)卡、存儲等核心中斷綁到大核,充分利用大核算力。

?多核負載均衡:避免單個核心因中斷扎堆導致過載,讓核心資源更均衡。

?低延遲場景:對延遲敏感的業(yè)務(如實時網(wǎng)絡、數(shù)據(jù)庫),將中斷綁到專屬核心,減少調(diào)度干擾。

二、應用層:三步完成中斷轉(zhuǎn)移

網(wǎng)卡eth0的中斷轉(zhuǎn)移到CPU7為例,操作只需3步:

步驟1:找到目標中斷的身份證”——中斷號

通過/proc/interrupts查看中斷與設備的對應關(guān)系:

wKgZO2kamRaACa8XAAAgQ1W5w6s256.png

?這里156就是**eth0-0中斷的中斷號**。

步驟2:計算目標CPU綁定掩碼

Linux十六進制掩碼表示中斷允許分發(fā)的CPU核心,每一位對應一個CPU(從右到左,最低位為CPU0):

?CPU001(二進制00000001

?CPU102(二進制00000010

?CPU204(二進制00000100

?...

?CPU780(二進制10000000

如果要綁到CPU7,掩碼就是80。

步驟3:寫入掩碼,完成搬家

將掩碼寫入/proc/irq/[中斷號]/smp_affinity

echo80 > /proc/irq/156/smp_affinity
驗證轉(zhuǎn)移結(jié)果

再次查看中斷計數(shù),確認CPU7的計數(shù)是否開始增長:

watch-n1"cat /proc/interrupts | grep eth0"

eth0-0對應的CPU7列(最右列)數(shù)值持續(xù)增加,說明轉(zhuǎn)移成功。

三、底層:中斷是如何認新核心的?

從內(nèi)核到硬件,中斷轉(zhuǎn)移的核心邏輯分為3層:

1.用戶空間與內(nèi)核的交互:/proc接口

/proc/irq/[中斷號]/smp_affinity用戶空間與內(nèi)核中斷子系統(tǒng)的橋梁。當你寫入掩碼時,內(nèi)核會解析這個十六進制值,轉(zhuǎn)換為CPU親和性位圖。

2.內(nèi)核中斷子系統(tǒng):配置親和性

內(nèi)核通過irq_desc結(jié)構(gòu)體管理每個中斷的屬性,其中包含irq_data.affinity(親和性位圖)。當寫入smp_affinity時,內(nèi)核會:

?解析十六進制掩碼為二進制位圖;

?更新irq_desc中該中斷的親和性配置;

?通知中斷控制器(如ARM GIC這個中斷以后只發(fā)給指定CPU”。

3.硬件中斷控制器:最終的分發(fā)者

ARM GIC(通用中斷控制器)為例,它會根據(jù)內(nèi)核設置的親和性寄存器Affinity Register,決定將中斷信號發(fā)送到哪個CPU核心。

比如,當GIC收到eth0的中斷請求時,會檢查該中斷的親和性配置,然后直接把中斷投遞CPU7的中斷管線,確保只有CPU7會響應這個中斷。

四、實戰(zhàn):RK3588上的中斷轉(zhuǎn)移(大小核優(yōu)化)

RK3588采用“4大核(A76+4小核(A55架構(gòu),假設要把eth0的關(guān)鍵中斷移到大核(如CPU6、CPU7),步驟如下:

1.確定大核編號:通過lscpu查看CPU架構(gòu),確認大核對應的邏輯CPU編號(比如CPU4~CPU7是大核)。

2.找到eth0中斷號

cat/proc/interrupts | grep eth0

假設關(guān)鍵中斷號是156eth0-0)。

1.綁定到大核(如CPU7

echo80 > /proc/irq/156/smp_affinity

1.驗證與壓測

?watch監(jiān)控中斷計數(shù),確認CPU7列增長;

?iperf進行網(wǎng)絡壓測,對比轉(zhuǎn)移前后的吞吐量和延遲。

以下視頻為指令切換到不同核,右邊中斷觀察變化

五、注意事項:這些坑要避開

1.irqbalance服務的干擾

irqbalance是一個自動均衡中斷的服務,會動態(tài)調(diào)整中斷綁定。如果要固定中斷核心,需先關(guān)閉它:

systemctl stop irqbalancesystemctldisableirqbalance

1.多隊列網(wǎng)卡的配合

現(xiàn)代網(wǎng)卡支持多隊列RSS(接收端縮放),可將不同數(shù)據(jù)流的中斷分散到多個隊列。此時,除了中斷綁定,還需配置隊列的CPU親和性(通過/sys/class/net/eth0/queues/目錄)。

2.配置的持久性

/proc下的配置是臨時的,重啟后會丟失。若需永久生效,可將命令寫入啟動腳本(如/etc/rc.local)或系統(tǒng)服務。

3.大小核的能力匹配

確保目標CPU核心支持處理該中斷(比如某些特殊中斷可能只能由特定核心處理,需查閱SoC手冊)。

總結(jié)

中斷轉(zhuǎn)移是Linux系統(tǒng)精細化性能調(diào)優(yōu)的重要手段,從應用層的簡單配置,到底層內(nèi)核與硬件的協(xié)同,本質(zhì)是讓中斷信號精準匹配算力核心。無論是異構(gòu)CPU的性能釋放,還是多核負載的均衡,掌握中斷轉(zhuǎn)移,能讓你的系統(tǒng)跑得更聰明。

如果是嵌入式或服務器開發(fā),趕緊試試把核心中斷綁到高性能核心,看看業(yè)務延遲和吞吐量的變化吧~

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5209

    文章

    20679

    瀏覽量

    337290
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11332

    瀏覽量

    225964
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11821

    瀏覽量

    219595
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RK3588 Type-C一線通,DP顯示輸出實戰(zhàn)指南

    摘要:RK3588的Type-C接口不僅是數(shù)據(jù)傳輸通道,更是一路強大的DisplayPort視頻輸出接口。本文將手把手教你如何通過Type-C實現(xiàn)DP視頻輸出,讓你使用眺望電子RK3588
    的頭像 發(fā)表于 04-03 08:33 ?1.2w次閱讀
    <b class='flag-5'>RK3588</b> Type-C一線通,DP顯示輸出實戰(zhàn)<b class='flag-5'>指南</b>

    手把手教你構(gòu)建一個完整的工程

    手把手教你構(gòu)建一個完整的工程
    發(fā)表于 08-03 09:54 ?33次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>構(gòu)建一個完整的工程

    手把手教你寫批處理-批處理的介紹

    手把手教你寫批處理-批處理的介紹
    發(fā)表于 10-25 15:02 ?69次下載

    美女手把手教你如何裝機(中)

    美女手把手教你如何裝機(中) 再來是硬碟的部份,這款機殼還不錯,可以旋轉(zhuǎn)支架~
    發(fā)表于 01-27 11:14 ?1656次閱讀

    美女手把手教你如何裝機(下)

    美女手把手教你如何裝機(下) 接著下來就是今天的重頭戲,開核蘿!~
    發(fā)表于 01-27 11:16 ?3178次閱讀

    手把手教你安裝Quartus II

    本章手把手把教你如何安裝 Quartus II 軟件 ,并將它激活 。此外 還有USB -Blaster下載器的驅(qū)動安裝步驟 。
    發(fā)表于 09-18 14:55 ?9次下載

    手把手教你在家搭建監(jiān)控系統(tǒng)

    手把手教你在家搭建監(jiān)控系統(tǒng)
    發(fā)表于 01-17 19:47 ?30次下載

    手把手教你如何開始DSP編程

    手把手教你如何開始DSP編程。
    發(fā)表于 04-09 11:54 ?13次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何開始DSP編程

    手把手教你學LabVIEW視覺設計

    手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視
    發(fā)表于 03-06 01:41 ?3577次閱讀

    手把手教你開關(guān)電源PCB排板

    手把手教你開關(guān)電源PCB排板(新型電源技術(shù))-分享一下開關(guān)電源PCB排板的基本要點及分析,以及例子講解。絕對的手把手
    發(fā)表于 09-18 12:27 ?68次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>開關(guān)電源PCB排板

    《嵌入式 - STM32開發(fā)指南手把手教你搭建STM32開發(fā)環(huán)境 [Linux版 - 3]

    《嵌入式 - STM32開發(fā)指南手把手教你搭建STM32開發(fā)環(huán)境 [Linux版 - 1]《嵌入式 - STM32開發(fā)指南
    發(fā)表于 12-06 09:36 ?0次下載
    《嵌入式 - STM32開發(fā)<b class='flag-5'>指南</b>》<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搭建STM32開發(fā)環(huán)境 [<b class='flag-5'>Linux</b>版 - 3]

    手把手教你學FPGA仿真

    電子發(fā)燒友網(wǎng)站提供《手把手教你學FPGA仿真.pdf》資料免費下載
    發(fā)表于 10-19 09:17 ?2次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>學FPGA仿真

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡參數(shù)

    在高并發(fā)網(wǎng)絡服務場景中,Linux內(nèi)核的默認網(wǎng)絡參數(shù)往往無法滿足需求,導致性能瓶頸、連接超時甚至服務崩潰。本文基于真實案例分析,參數(shù)解讀、問題診斷到優(yōu)化實踐,手把手教你如何調(diào)優(yōu)
    的頭像 發(fā)表于 05-29 09:21 ?1214次閱讀

    RK3588核心板/開發(fā)板RT-Linux系統(tǒng)實時性及硬件中斷延遲測試

    本文介紹瑞芯微RK3588芯片平臺RT-Linux系統(tǒng)實時性及硬件中斷延遲測試,基于觸覺智能RK3588核心板/開發(fā)板演示。
    的頭像 發(fā)表于 11-28 18:57 ?1047次閱讀
    <b class='flag-5'>RK3588</b><b class='flag-5'>核心</b>板/開發(fā)板RT-<b class='flag-5'>Linux</b>系統(tǒng)實時性及硬件<b class='flag-5'>中斷</b>延遲測試

    RK3588 CPU?隔離:AB/非?AB?系統(tǒng)雙方案適配實戰(zhàn)

    方案 ,兩套方案代碼均完整可直接套用,核心差異僅在于 代碼集成路徑與函數(shù)調(diào)用時機 ,且均支持通過vendor_storage動態(tài)配置隔離核心,無需反復編譯固件,重啟即可生效。下文將從隔離原理、適用場景、雙方案實現(xiàn)、動態(tài)配置、效果驗證全維度展開,
    的頭像 發(fā)表于 02-09 07:12 ?566次閱讀
    <b class='flag-5'>RK3588</b> CPU?隔離:AB/非?AB?系統(tǒng)雙方案適配實戰(zhàn)