Try   HackMD

2024q1 Homework5 (assessment)

contributed by < brian049 >

閱讀〈因為自動飲料機而延畢的那一年〉的啟發

閱讀心得

最為感觸的是「你該學習的不是看到事情要完蛋了就去避免失敗,而是應該學習如何處理與承受失敗,你才能變得比以前更強大。」,對我來說如果在遇到困難時會不禁胡思亂想我這樣作是否是正確的前進方向,或是其實我在一開始就選錯路線前進?就會因為害怕失敗不敢前進或是躊躇不前,事實上目標就在那裡,遇到困難想辦法解決而不是逃避,最後會走到目的地。

教材疑問

  • 什麼情況下使用 workqueue,什麼情況下使用 tasklet?

tasklet 建構在 softirq 之上
top-half, bottom-half

hard-IRQ (可簡稱 irq), softirq
ksoftirqd -> per-CPU

https://www.lmax.com/blog/staff-blogs/2016/05/06/navigating-linux-kernel-network-stack-receive-path/

https://sysprog21.github.io/lkmpg/#tasklets

In recent kernels, tasklets can be replaced by workqueues, timers, or threaded interrupts. While the removal of tasklets remains a longer-term goal, the current kernel contains more than a hundred uses of tasklets. Now developers are proceeding with the API changes and the macro DECLARE_TASKLET_OLD exists for compatibility.

CMWQ: flags
memory ordering

nested interrupt (巢狀中斷)

  • Workqueue 相較於 Tasklet 可以達成 sleep 的效果,想了解如何達到此效果

想投入的專案

並行程式設計

打造 Linux 虛擬攝影機裝置驅動程式

以 Linux XDP 為基礎的防火牆

L7 filter
TCP/IP
Sobel

TODO: 繼續 simrupt + ttt,彙整其他學員成果,並提出改進

simrupt