在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Linux為什么中斷不允許休眠

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:Jasonangel ? 2023-09-27 17:48 ? 次閱讀

Linux 為什么中斷不允許休眠?

所謂的睡眠,就是調(diào)用 schedule 讓出 CPU,調(diào)度器選擇另外個進程繼續(xù)執(zhí)行,這個過程涉及進程棧空間的切換。

1、假如中斷上下文中調(diào)用 schedule ,此時獲取的 struct thread info 數(shù)據(jù)結(jié)構(gòu)是發(fā)生中斷時該進程棧信息,而不是中斷上下文調(diào)用 schedule 時任何信息。這就導致再也無法返回中斷上下文中調(diào)用 schedule 的地方。

2、中斷上下文處于關(guān)中斷中,需要發(fā)送個 EOI 通知 GIC 中斷處理結(jié)束,GIC 和CPUinterface 才會進入下一次中斷處理。如果中途 schedule,那么整個系統(tǒng)的中斷都會被屏蔽掉。

一般進入中斷后,需要關(guān)中斷,也會關(guān)搶占,同時注意不可以調(diào)用schedule。

unhandled interrupt 和 spurious interrupt

未處理中斷和虛假中斷

在中斷處理的最后,總會有一段代碼如下:

irqreturn_t

handle_irq_event_percpu(structirq_desc*desc,structirqaction*action)

{

……

if(!noirqdebug)

note_interrupt(irq,desc,retval);

returnretval;

}

note_interrupt就是進行unhandled interrupt和spurious interrupt處理的。對于這類中斷,linux kernel有一套復雜的機制來處理,你可以通過command line參數(shù)(noirqdebug)來控制開關(guān)該功能。

當發(fā)生了一個中斷,但是沒有被處理(有兩種可能,一種是根本沒有注冊的 specific handler,第二種是有 handler,但是 handler 否認是自己對應的設(shè)備觸發(fā)的中斷),怎么辦?毫無疑問這是一個異常狀況,那么 kernel 是否要立刻采取措施將該 IRQ disable 呢?也不太合適,畢竟 interrupt request 信號線是允許共享的,直接 disable 該 IRQ 有可能會下手太狠,kernel 采取了這樣的策略:如果該 IRQ 觸發(fā)了 100,000 次,但是 99,900 次沒有處理,在這種條件下,我們就是 disable 這個 interrupt request line。

中斷線和中斷號是一個意思。

相關(guān)的控制數(shù)據(jù)在中斷描述符中,如下:

structirq_desc{

……

unsignedintirq_count;--------記錄發(fā)生的中斷的次數(shù),每100,000則回滾

unsignedlonglast_unhandled;-----上一次沒有處理的IRQ的時間點

unsignedintirqs_unhandled;------沒有處理的次數(shù)

……

}

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

    關(guān)注

    68

    文章

    11015

    瀏覽量

    215374
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11430

    瀏覽量

    212444
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    902

    瀏覽量

    42412
收藏 人收藏

    評論

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

    為保醫(yī)療質(zhì)量不允許開展互聯(lián)網(wǎng)醫(yī)療診治?

    互聯(lián)網(wǎng)時代,很多人都已經(jīng)習慣了通過網(wǎng)絡(luò)解決很多問題,包括看病找醫(yī)生。在線輔助問診是否合法?對此,國家衛(wèi)計委新聞發(fā)言人宋樹立表示:互聯(lián)網(wǎng)上涉及醫(yī)學診斷治療是不允許開展的,只能做健康方面的咨詢。
    發(fā)表于 04-13 09:46 ?1181次閱讀

    “tc1.3”編譯報錯不允許使用向量表編號TriCore?怎么解決?

    “tc1.3” TriCore? 不允許使用矢量表編號
    發(fā)表于 01-22 08:33

    NgdBuild:486不允許屬性“SIM_MODE”

    “BU2_U0_blk_mem_generator_valid.cstr_ramloop [3] .ram.r_v5_noinit.ram_SP.WIDE_P RIM36.TDP”上不允許屬性“SIM_MODE”。該屬性將被忽略。這可以嗎?ISE版本
    發(fā)表于 10-10 11:48

    請問SPI不允許在main函數(shù)中對SD卡操作嗎?

    請問下,我在一個定時中斷里使用原子哥寫SD的程序?qū)慡D卡,在mian函數(shù)的循環(huán)里同樣也有對SD卡的操作(SD_Init(),MSD_WriteBuffer),這時我發(fā)現(xiàn)程序有一定概率在出定時中斷后不跑了,把main函數(shù)中對SD卡操作的函數(shù)都去掉后就完全沒有這個問題了。難道
    發(fā)表于 07-11 04:35

    電壓互感器二次側(cè)為什么不允許短路

    變壓器的工作原理是什么?變壓器是由哪些部分組成的?電流互感器二次側(cè)為什么不允許開路?電壓互感器二次側(cè)為什么不允許短路?
    發(fā)表于 08-09 06:48

    電流互感器與電壓互感器二次側(cè)為什么不允許開路

    變壓器的工作原理是什么?變壓器是由哪些部分組成的?電流互感器二次側(cè)為什么不允許開路?電壓互感器二次側(cè)為什么不允許短路?
    發(fā)表于 08-23 06:14

    FreeRTOS的某些內(nèi)容是不允許MDMA讀取內(nèi)存嗎?

    驗證了 RAM 地址存在于 AXI 內(nèi)存中,所以似乎 FreeRTOS 的某些內(nèi)容不允許 MDMA 讀取內(nèi)存?// Write operationMDMA_Channel0-&gt
    發(fā)表于 12-07 07:47

    STM32H7時鐘為什么不允許調(diào)整?

    時鐘不允許調(diào)整。通常它不應該發(fā)出警告。
    發(fā)表于 12-14 06:52

    TTL門電路為什么輸出端不允許并聯(lián)相接呢?

    TTL門電路為什么輸出端不允許并聯(lián)相接?希望能從三極管的角度解釋一下,最好有圖解。
    發(fā)表于 04-28 11:06

    不允許32位傳輸?shù)膇.MX 8是否有限制?

    字節(jié)的 DMA 傳輸(DMA 控制器在設(shè)備內(nèi)部,因此它會進行 PCI 總線主傳輸)并且該傳輸從未開始或完成,所以看起來 4 字節(jié)的傳輸大小是太小。較大的傳輸(8 個或更多字節(jié))工作正常。 不允許
    發(fā)表于 05-11 06:34

    網(wǎng)絡(luò)電視不允許直播世界杯?

    2018世界杯比賽不允許在互聯(lián)網(wǎng)電視平臺上進行賽事的直播和延時播出,否則都屬于違規(guī),只能在賽事結(jié)束后提供比賽點播服務(wù)。
    的頭像 發(fā)表于 06-08 09:44 ?5433次閱讀

    AVR單片機外部中斷實例及下載燒錄的方法

    中斷向量位于Boot Loader 區(qū),那么執(zhí)行應用區(qū)代碼時中斷是禁止的。401不允許運行于Boot Loader 區(qū)的LPM 指令從應用區(qū)讀取數(shù)據(jù)。若中斷向量位于Boot Load
    發(fā)表于 04-09 15:05 ?2294次閱讀
    AVR單片機外部<b class='flag-5'>中斷</b>實例及下載燒錄的方法

    為什么中性線不允許單獨斷開

     在我們通常所用的TN系統(tǒng)中,不管單相電路還是三相電路,零線和地線一樣在任何情況下都是不允許斷開的,也就是說零線不允許經(jīng)過開關(guān)和保險絲。零線在電工學里用PEN表示,中性線用N表示,保護線(地線)用PE表示。我們生活中所用、通常所說的零線實際上在電工學里叫“中性線”。
    的頭像 發(fā)表于 12-22 03:42 ?1w次閱讀
    為什么中性線<b class='flag-5'>不允許</b>單獨斷開

    減速機為什么不允許有軸向竄動現(xiàn)象?

    減速機為什么不允許有軸向竄動現(xiàn)象? 減速機是一種用來改變輸入軸傳動力矩和轉(zhuǎn)速的裝置。作為機械設(shè)備的核心部件之一,減速機在各個行業(yè)中起到非常重要的作用,廣泛應用于機械傳動系統(tǒng)中。 在減速機
    的頭像 發(fā)表于 11-23 10:46 ?1872次閱讀

    電力系統(tǒng)不允許發(fā)生諧振的原因

    電力系統(tǒng)諧振是指在電力系統(tǒng)中,由于某些特定條件的滿足,導致系統(tǒng)內(nèi)部的電感和電容元件相互配合,形成一種振蕩現(xiàn)象。諧振現(xiàn)象在電力系統(tǒng)中是不允許發(fā)生的,因為它會帶來一系列嚴重的問題和危害。以下是對電力系統(tǒng)
    的頭像 發(fā)表于 08-22 14:21 ?1311次閱讀
    主站蜘蛛池模板: 手机在线黄色 | 一级特黄aaa大片29 | 天天躁狠狠躁狠狠躁夜夜躁 | 午夜精品久久久久久影视riav | 日本丰满毛茸茸熟妇 | 久久激情五月 | 西西人体大胆午夜gog0 | 亚洲激情网站 | 欧美一级精品 | 欧美一区福利 | 亚洲日本久久久午夜精品 | 国产一级又色又爽又黄大片 | 99色综合 | 欧美 亚洲 国产 精品有声 | 色欲香天天天综合网站 | 欧美一区二区三区黄色 | 免费视频网站在线看视频 | 加勒比一本大道香蕉在线视频 | 夜夜艹天天干 | 扒开双腿猛进湿润18p | 4tube高清性欧美 | 精品视频一二三区 | 午夜视频免费看 | 欧美在线性 | 黄色四虎影院 | 免费黄色大片在线观看 | 欧美社区 | 在线免费亚洲 | 午夜男人网 | 激情综合色五月丁香六月亚洲 | 国产精品7m凸凹视频分类大全 | 亚洲va中文va欧美va爽爽 | 午夜影院亚洲 | 手机看片福利视频 | 毛片网站在线 | 亚洲综合激情 | 理论片一区 | 欧美性久久久久 | 狠狠干最新网址 | 正在播放欧美 | 国内精品91久久久久 |