99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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ā)者們認(rèn)為它們非常特殊,應(yīng)該比用戶空間進程要有更高優(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)先級,終于看不下去了, 指責(zé)這種把內(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)先級,因為這樣本來毫無意義,當(dāng)然如果需要的話系統(tǒng)管理員還是可以按需調(diào)整不同進/線程的優(yōu)先級。

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

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

    關(guān)注

    3

    文章

    1416

    瀏覽量

    41443
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    智多晶FIFO_Generator IP介紹

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

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

    。 有些消息總是發(fā)送,有些則不發(fā)送。我不知道是什么導(dǎo)致了這個問題,但看起來有些塊沒有在應(yīng)該執(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支持的應(yīng)用外,AXI FIFO
    的頭像 發(fā)表于 03-17 10:31 ?1079次閱讀
    AXI接口<b class='flag-5'>FIFO</b>簡介

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

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

    FIFO IP核的使用教程

    在數(shù)字設(shè)計中,利用FIFO進行數(shù)據(jù)處理是非常普遍的應(yīng)用,例如,實現(xiàn)時鐘域交叉、低延時存儲器緩存、總線位寬調(diào)整等。下圖給出了FIFO生成器支持的一種可能配置。
    的頭像 發(fā)表于 01-03 09:36 ?2870次閱讀
    <b class='flag-5'>FIFO</b> IP核的使用教程

    FIFO Generator的Xilinx官方手冊

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

    FIFO的深度應(yīng)該怎么計算

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

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

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

    Efinity FIFO IP仿真問題 -v1

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

    為什么電瓶車上樓充電引起的電氣火災(zāi)還是一直發(fā)生?

    01引言 近日又發(fā)生電瓶車火災(zāi),然后主管部門,物業(yè),等等又是各種發(fā)文,不要如何如何,幾乎毫無意義,還是要從根本上解決問題,才能高效排除隱患。不單純本次的原因,縱觀這么多次火災(zāi),主要是電動車或電動車
    的頭像 發(fā)表于 09-18 16:32 ?645次閱讀
    為什么電瓶車上樓充電引起的電氣火災(zāi)還是一直發(fā)生?

    如何解決電動車電瓶上樓充電起火問題

    易允恒 安科瑞電氣股份有限公司 201801 01引言 近日又發(fā)生電瓶車火災(zāi),然后主管部門,物業(yè),等等又是各種發(fā)文,不要如何如何,幾乎毫無意義,還是要從根本上解決問題,才能高效排除隱患。不單純本次
    的頭像 發(fā)表于 09-18 15:09 ?720次閱讀
    如何解決電動車電瓶上樓充電起火問題

    CPU線程和程序線程的區(qū)別

    CPU的線程與程序的線程在概念、作用、實現(xiàn)方式以及性能影響等方面存在顯著差異。以下是對兩者區(qū)別的詳細闡述,旨在深入探討這一技術(shù)話題。
    的頭像 發(fā)表于 09-02 11:18 ?2132次閱讀

    “快、準(zhǔn)、穩(wěn)”——阿普奇AK5在機械手領(lǐng)域的應(yīng)用解決方案

    在如今的工業(yè)制造上,工業(yè)機器人的身影隨處可見,它代替人類完成許多繁重、重復(fù)或者是毫無意義的流程性作業(yè),回望工業(yè)機器人的發(fā)展,機械手可以說是最早出現(xiàn)的工業(yè)機器人,它能模仿人手和臂的某些動作功能,以固定
    的頭像 發(fā)表于 08-09 14:50 ?725次閱讀
    “快、準(zhǔn)、穩(wěn)”——阿普奇AK5在機械手領(lǐng)域的應(yīng)用解決方案