softirq

    8熱度

    1回答

    類似於系統調用如何工作int 0x80,是否有可能在內核中實現我自己的ISR,以便在softirq上假設int 0x120或與任何其他softirq程序計數器可以從用戶空間跳到內核空間? 在特權模式下進入內核僅與int 0x80相關聯,或者與任何softirq實現關聯,我可以自動進入特權模式或禁用保護模式並進入特權模式,我們必須通過寫入其關聯標誌手動進行操作。 還有一件事,如果有可能實現這種類型的

    0熱度

    1回答

    有兩個C++進程,每個進程中有一個線程。該線程處理來自32個傳入TCP連接的網絡流量(Diameter),解析它並通過32個傳出TCP連接轉發拆分消息。我們把這個C++過程稱爲DiameterFE。 如果只有一個DiameterFE進程正在運行,它可以處理70 000條消息/秒。 如果兩個DiameterFE進程正在運行,它們每個可以處理35 000條消息/秒,所以總共有70 000條消息/秒。

    0熱度

    1回答

    最近我研究了Robert Love的Linux-Kernel-Development。 有一段描述softirq的機制。 的軟中斷處理程序啓用中斷運行,無法入睡。 處理程序運行時,當前處理器上的softirqs被禁用。 但是,另一個處理器可以執行其他softirq。 我不明白的意思是「在當前處理器上軟中斷被禁用。」 這是否意味着當運行__do_softirq時,即使softirq_pending中

    1熱度

    1回答

    是否可以將softirq或任何其他下半部分連接到處理器。我懷疑這可以在softirq代碼中完成。 但是,在驅動程序內部,可以將特定的IRQ固定到內核。

    0熱度

    2回答

    在Linux平臺的ARM內核實現中,將tasklet中的延遲工作添加到percpu vec | vec_hi列表中。 現在從ISR執行返回時,它會去處理softirq和tasklets中的延遲工作。 現在這個延遲工作可以在IRQ啓用的中斷上下文中處理,或者有可以在進程上下文中處理它的ksoftirq線程。 相同的tasklet將在ksoftirq線程爲percpu的同一CPU上執行。 我已經看到很

    0熱度

    1回答

    在tasklet_action常規 - 同時處理來自 核心的tasklet_vec列表中的條目,我們將自動讀取的atomic_read(& T->計數),我沒有看到 通過了例行任何用途,什麼是它的顯著? if (tasklet_trylock(t)) { // check is it is not already being executed if (!atomic_read(&t->

    0熱度

    1回答

    我有一個使用handle_level_irq()的IRQ。大多數情況下,ISR要求安排下半部分,但有時候,它可以確定它是虛假的,並且不希望安排下半部分(出於性能原因)。問題是,在後一種情況下,存在競爭條件。如果ISR確定它是虛假的,它將揭露中斷並準備退出(注意 - 此時ISR不受desc->lock的保護)。但之後,中斷在第二個CPU上被觸發,第二個CPU根據handle_level_irq()抓

    1熱度

    1回答

    Linux 2.6和3.8都是。 作爲路由器通過3個gig文件的Linux設置 做一個頂部,%SI高達30%,但ksoftirqd正在做0%的CPU。所以問題是「什麼線程處理softirq ???」我讀過代碼,它假設是ksoftirqd,但它是空閒的。 [不能發佈圖片,不夠分] 這是一個會計問題? dreez

    0熱度

    1回答

    什麼是 「電流 - > PID」 版畫低於2的情況下 1)硬中斷上下文 2)軟IRQ背景 我知道IRQ背景和過程的情況下,上下文不同,並且在IRQ上下文情況下,PID必須無效。但是當試圖在IRQ上下文中打印「current-> pid」時,它正在打印一些有效的PID,因此產生了疑問。 請說明。 謝謝, Gopinath。