iT邦幫忙

2021 iThome 鐵人賽

DAY 30
3
Software Development

閱讀 Linux Kernel 文件系列 第 30

# Day 30 Commencement: I open at the close

哇!不知不覺就到第 30 天了,來回顧一下這 30 天的旅程吧!

簡單回顧

自己訂的鐵人賽主題是閱讀 Linux Kernel 文件,
Linux Kernel 和工作內容有著不算小的相關性,
還有在工作的過程中,欠下很多的文件債,所以訂了這個主題;
這 30 天,總共看了

  • 5 篇和 RISC-V 架構相關的文件
    • arch/riscv maintenance guidelines for developers:描述 RISC-V Linux 接受 patch 的原則
    • Boot image header in RISC-V Linux:定義了 RISC-V Linux 的啟動影像檔需要有哪些標頭資訊
    • Virtual Memory Layout on RISC-V Linux:描述 RISC-V Linux 的虛擬記憶體佈局
    • Feature status on riscv architecture:目前 RISC-V Linux 有支援哪些核心功能
    • Supporting PMUs on RISC-V platforms:在 RISC-V Linux 上要如何實作 PMU 相關功能 (最近有個新的 sscof extension)
  • 1 篇和 checkpatch 相關的文件
    • Why the “volatile” type class should not be usedvolatile 應該用來修飾存取的動作而非存取的資料本身
  • 5 篇和 mm 相關的文件
    • Cache and TLB Flushing Under Linux:維護 cache 和 TLB 的 API ,描述這些的使用情境、時機和實作
    • Physical Memory Model:描述 kernel 實體記憶體管理的概念,目前預設都是 SPARSEMEM
    • High Memory Handling:32 位元機器的定址空間有限,若實體記憶體大小大於定址空間,則需要 high memory 支援才能存取全部的實體記憶體
    • Heterogeneous Memory Management (HMM):整合異質記憶體至同一個定址空間 (Shared Virtual Memory)
    • Page Migration:NUMA 的記憶體管理、memory compaction 等等的底層機制,用以使記憶體存取更有效率

賽前,給自己的安排本來是

仔細閱讀每篇文件,把不懂的地方好好查閱研究後,消化理解並詳實的記錄下來;行有餘力再來做翻譯!

結果,寫到後來變成

啊!時間快到了!先把翻譯翻出來,其它不太懂的地方,之後再說! XDDDD

甚至有幾天是先把文章發表出來,再慢慢的更新,著實準備的並不充分。

展望

這個系列寫到這裡,感覺不僅沒有把對 kernel 不理解的地方變少,反而知道更多、更具體自己的不理解之處;
所以第 30 天並不是結束,而是一個新的開始,該努力的來把自己不知道的東西搞清楚啦!XD
接下來,還會努力的持續發文,紀錄 code trace 的過程,以及自己的理解,但應該不會日更 XD

完賽啦!感謝同事們的精神支援啦!
要來好好整理 patch 囉!


上一篇
# Day 29 Page Migration (四)
系列文
閱讀 Linux Kernel 文件30

1 則留言

1
高魁良
iT邦新手 4 級 ‧ 2021-10-09 23:44:44

恭喜啦!

我要留言

立即登入留言