tags: Linux, SRE

SRE 讀書會 Round 4 #03 - 線上讀書會共筆

活動資訊


現場共筆

軟中斷

硬中斷

現在有些設計反其道而行,就是一直再那邊看外送員有沒有來,用 CPU換效能
Intel 有些 CPU數量很多 所以會使用這種方式 Polling

Data Plane Development Kit, DPDK

  1. top half => 快速執行 Critical effect ,在執行的時候不能進入睡眠,可以lock (spin lock)
  2. button half => 延遲執行 可以晚點再做, 可以匯入 queue 中的
  3. hardware interrupt =>由硬體做源頭
  4. software interrupt =>由軟體(user)做源頭 (指標找不到, 1/0 等 )

問題討論

Q: 為什麼要有殭屍程序?

Q: 殭屍程序有可能復活?

不知道是誰在管理的 所以沒辦法復活

Q: 為什麼 OS 不自動把殭屍程序處理掉?

經驗分享:
有服務需要每個小時重開一次

Q: 一台長期不容易安排重開機的 application client node, 記憶體仍剩下數百G, swappiness 設置=1, 但有部分系統程序例如 systemd, rsyslogd, …等.. 吃到SWAP, 例如加總一半的空間, 執行 swapoff , swapon 存在崩潰的風險, 除了不理他並安排重新啟動, 有沒有更好的方法?

Q: 作者好像對於軟中斷類型的介紹很簡單帶過,上網查說軟中斷又有tasklet, workqueue等等類型,看到有點混淆,不知道有沒有對這方面熟悉的大大可以幫忙解惑一下這部分?

中斷打進來,上半部:快速執行(不允許睡眠,可以busy lock/spin lock)、下半部:延遲執行
workqueue 針對IO


參考資料

Select a repo