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

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

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

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

為什么說內(nèi)核線程放入SCHED_FIFO的做法毫無意義?

lhl545545 ? 來源:Linuxer ? 作者:Linuxer ? 2020-06-09 15:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景Linux會把進程分為普通進程和實時進程,普通進程采用CFS之類調(diào)度算法,而實時進程則是采用SCHED_FIFO或SCHED_RR。無論優(yōu)先級高低,實時進程都會優(yōu)先于SCHED_NORMAL中的所有進程先執(zhí)行,因為后者里面都是普通的非實時進程。

具體可以參看Linux閱碼場早期文章: 宋寶華:關(guān)于Linux進程優(yōu)先級數(shù)字混亂的徹底澄清

內(nèi)核線程的優(yōu)先級Linux內(nèi)核會將大量(并且在不斷增加中)工作放置在內(nèi)核線程中,這些線程是在內(nèi)核地址空間中運行的特殊進程。大多數(shù)內(nèi)核線程運行在SCHED_NORMAL類中,必須與普通用戶空間進程爭奪CPU時間。但是有一些內(nèi)核線程它的開發(fā)者們認為它們非常特殊,應該比用戶空間進程要有更高優(yōu)先級。因此也會把這些內(nèi)核線程放到SCHED_FIFO中去。

那么問題來了,某個內(nèi)核線程的實時優(yōu)先級到底該設(shè)為多少呢?

要回答這個問題,不僅需要判斷這個線程相對于所有其他實時線程是否更加重要,還要跟用戶態(tài)的實時進程比較誰更重要。這是一個很難回答的問題,更何況在不同的系統(tǒng)和工作模式下這個答案很有可能還會各不相同。所以一般來說,內(nèi)核開發(fā)人員也就是看心情直接隨便選一個實時優(yōu)先級。

現(xiàn)在的一些內(nèi)核實時線程如下:

最近大神Peter Zijlstra又看到有內(nèi)核開發(fā)者隨便給內(nèi)核線程設(shè)置優(yōu)先級,終于看不下去了, 指責這種把內(nèi)核線程放入SCHED_FIFO的做法毫無意義:

“the kernel has no clue what actual priority it should use for various things, so it is useless (or worse, counter productive) to even try”

所以他發(fā)了一個系列[PATCH 00/23] sched: Remove FIFO priorities from modules 把設(shè)置內(nèi)核線程優(yōu)先級的接口干脆都給刪了,省得再有人瞎搞。

這個系列Patch(點擊閱讀原文可直達)主要做了下面幾件事情:

刪除了原有的sched_setschedule() / sched_setattr() 接口

增加了

sched_set_fifo(p)

sched_set_fifo_low(p)

sched_set_normal(p, nice)

其中調(diào)用sched_set_fifo()會將指定進程放到SCHED_FIFO類中,其優(yōu)先級為50——這只是min和max之間的一半位置。

對于需求不那么迫切的線程,sched_set_fifo_low()將優(yōu)先級設(shè)置為最低值(1)。

而調(diào)用sched_set_normal()會將線程返回給定好的值SCHED_NORMAL類。

通過只留下這三個接口可以避免開發(fā)者們再不停地去隨機選取內(nèi)核線程優(yōu)先級,因為這樣本來毫無意義,當然如果需要的話系統(tǒng)管理員還是可以按需調(diào)整不同進/線程的優(yōu)先級。

到目前為止,這個系列Patch已經(jīng)有不少得到Reviewed-by,相信如果合入后,內(nèi)核線程混亂的優(yōu)先級狀況會得到持續(xù)改善。
責任編輯:pj

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

    關(guān)注

    4

    文章

    1427

    瀏覽量

    42223
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11576

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—IgH?EtherCAT主站開發(fā)案例(下)

    本文圍繞創(chuàng)龍科技研發(fā)的 TL3588-EVM 評估板,介紹 IgH EtherCAT 主站開發(fā)案例,含 IgH EtherCAT 簡介、案例測試(電機正反轉(zhuǎn),SCHED_FIFO
    的頭像 發(fā)表于 10-15 15:06 ?103次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—IgH?EtherCAT主站開發(fā)案例(下)

    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—IgH?EtherCAT主站開發(fā)案例(上)

    本文圍繞創(chuàng)龍科技研發(fā)的 TL3588-EVM 評估板,介紹 IgH EtherCAT 主站開發(fā)案例,含 IgH EtherCAT 簡介、案例測試(電機正反轉(zhuǎn),SCHED_FIFO
    的頭像 發(fā)表于 10-14 11:55 ?39次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—IgH?EtherCAT主站開發(fā)案例(上)

    rtth studio中nano 如何創(chuàng)建動態(tài)線程?

    有沒有大佬,可以一下為什么靜態(tài)線程可以正常使用,動態(tài)線程怎么也使用不了。 具體需要什么配置才能使用動態(tài)線程創(chuàng)建。謝謝!
    發(fā)表于 09-11 06:01

    線程超時函數(shù)中 assert 失敗是什么原因?qū)е碌?

    最近調(diào)試 gd32h759 遇到了一個十分奇怪的問題,在初步調(diào)通所有的邏輯功能后,發(fā)現(xiàn)系統(tǒng)經(jīng)常會在運行一段時間后死在一個奇怪的線程超時函數(shù)中 assert 失敗導致卡死。用 cmbacktrace
    發(fā)表于 09-09 06:56

    rtt studio中nano 如何創(chuàng)建動態(tài)線程?

    有沒有大佬,可以一下為什么靜態(tài)線程可以正常使用,動態(tài)線程怎么也使用不了。 具體需要什么配置才能使用動態(tài)線程創(chuàng)建。謝謝!
    發(fā)表于 08-22 06:19

    分辨率 vs 噪聲 —— ADC的挑戰(zhàn)

    信號上的噪聲幅度 > LSB,則 LSB 分辨的不是“信號”,而是“噪聲”! 如果系統(tǒng)本底噪聲是 100 μV,那么這個 76 μV LSB 就毫無意義;此時所謂“高分辨率”變成了“偽分辨率”或“無效
    的頭像 發(fā)表于 06-23 07:38 ?1277次閱讀
    分辨率 vs 噪聲 —— ADC的挑戰(zhàn)

    大牛多年研發(fā)電源問題匯總(受益匪淺)

    鉆牛角尖,做技術(shù)切記鉆牛角尖,那你能談?wù)劄槭裁雌毡殡娫床还ぷ髟?.5HZ,這個才有意義,你做出1.5HZ的電源純屬毫無意義的事情) 提醒:做技術(shù)人員切記鉆牛角尖,咱們不是校園研究派,是需要將理論
    發(fā)表于 06-04 17:54

    智多晶FIFO_Generator IP介紹

    FIFO_Generator是智多晶設(shè)計的一款通用型FIFO IP。當前發(fā)布的FIFO_Generator IP是2.0版本,相比之前的1.1版本主要新增了非等比輸入輸出數(shù)據(jù)位寬支持和異步FI
    的頭像 發(fā)表于 04-25 17:24 ?1308次閱讀
    智多晶<b class='flag-5'>FIFO</b>_Generator IP介紹

    求助,關(guān)于CAN接收問題求解

    。 有些消息總是發(fā)送,有些則不發(fā)送。我不知道是什么導致了這個問題,但看起來有些塊沒有在應該執(zhí)行的時候執(zhí)行。 我對 Simulink 設(shè)置不是很熟悉。我嘗試將 RX 子系統(tǒng)設(shè)置為原子(可能毫無意義),但
    發(fā)表于 04-01 06:27

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內(nèi)存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Native接口FIFO支持的應用外,AXI FIFO
    的頭像 發(fā)表于 03-17 10:31 ?1515次閱讀
    AXI接口<b class='flag-5'>FIFO</b>簡介

    用RC低通濾波的話,轉(zhuǎn)折頻率是可以滿足,但是RC濾波器中,充電時間常數(shù)RC能滿足△-∑型ADC的采樣時間要求嗎?

    )=1k Hz。得RC=160uS,那么ADC的采樣時間最大也只有1uS.那當ADC采樣時,電容的充電時間還不足1個時間常數(shù),ADC采集到的電壓值遠遠低于實際的電壓,這樣得出的結(jié)果是毫無意義的。 不知道我的理解哪里錯了,望解答,謝謝!
    發(fā)表于 01-16 07:43

    FIFO Generator的Xilinx官方手冊

    FIFO作為FPGA崗位求職過程中最常被問到的基礎(chǔ)知識點,也是項目中最常被使用到的IP,其意義是非常重要的。本文基于對FIFO Generator的Xilinx官方手冊的閱讀與總結(jié),匯總主要知識點
    的頭像 發(fā)表于 11-12 10:46 ?2267次閱讀
    <b class='flag-5'>FIFO</b> Generator的Xilinx官方手冊

    FIFO的深度應該怎么計算

    FIFO是FPGA/IC設(shè)計中經(jīng)常使用到的模塊,它經(jīng)常被用在兩個模塊之間進行數(shù)據(jù)的緩存,以避免數(shù)據(jù)在傳輸過程中丟失。同時FIFO也經(jīng)常被用在跨時鐘域處理中。
    的頭像 發(fā)表于 10-25 15:20 ?1438次閱讀
    <b class='flag-5'>FIFO</b>的深度應該怎么計算

    特斯拉計劃明年上半年推出經(jīng)濟型電動汽車

    明確表示,這款低價電動汽車將配備無人駕駛技術(shù),因為不包含該技術(shù)的低價電動汽車在他看來將“毫無意義”,并確認其價格將低于3萬美元(當前約合21.4萬元人民幣)。
    的頭像 發(fā)表于 10-24 14:09 ?1159次閱讀

    Efinity FIFO IP仿真問題 -v1

    Efinity目前不支持聯(lián)合仿真,只能通過調(diào)用源文件仿真。 我們生成一個fifo IP命名為fifo_sim 在Deliverables中保留Testbench的選項。 在IP的生成目錄下會有以下
    的頭像 發(fā)表于 10-21 11:41 ?1929次閱讀
    Efinity <b class='flag-5'>FIFO</b> IP仿真問題 -v1