版本 0d65eefeff41493af0deb6a05f7bce079f9149e9
c8763yee (徐彥翔)
簡介
2026 Linux 核心設計 春季班 自我評量
成果發表和貢獻
9 分
Kernel patch (Trivial)
我在閱讀 AMD IBS 相關程式碼時發現其 bit-field 註解中 bit 範圍標示錯誤 (正確的範圍應該是 16-31),考慮到可能有人被註解誤導 bit-field 範圍,因此「路見不平,拿 Patch 來補」,發送了我個人的第一個 Linux kernel patch。即使只是修了一行,但畢竟「勿以善小而不為」。
struct {
__u64 comp_to_ret_ctr:16, /* 0-15: op completion to retire count */
- tag_to_ret_ctr:16, /* 15-31: op tag to retire count */
+ tag_to_ret_ctr:16, /* 16-31: op tag to retire count */
reserved1:2, /* 32-33: reserved */
op_return:1, /* 34: return op */
op_brn_taken:1, /* 35: taken branch op */
教材修改
-
> RIP SLOB allocator (2006 - 2023, removed at 6630e950d532)
> RIP SLAB allocator (1996 - 2024, removed at 16a1d968358a)
> Before 4.1, all ftrace tracing control files were within the debugfs file system, which is typically located at /sys/kernel/debug/tracing.
公開演講
- 2026/08/09 — COSCUP 2026 System Software 講題「從個人電腦到資料中心:Linux 記憶體管理的演化」
作業/隨堂測驗
7 分
一開始因為就學期間忽略數學的重要性,導致光是做「探討〈解讀計算機編碼〉」題組在補充缺失的數學知識就花了 3 天。而後面因為 Deadline 接近,因此後面只能針對程式語言的題目進行作答並繼續把之前沒學好的數學重新學習,這樣的結果是在第三次作業時只能先紀錄閱讀教材時的發現與問題。
不過在撰寫作業期間我開始注重使用的詞彙以及對於 C 語言規格書的使用,並且在閱讀課程教材期間也會主動注意教材使用的詞彙並修正。
期末專題
5 分
未完成期末專題
預計題目: 針對 MGLRU 的 reclaim loop 統計 (PID Controller) 根據 Generation 存活時間衰減歷史權重。
\[S_{new} = \frac{S_{old}}{\Delta t}+\frac{\Delta t-1}{\Delta t}x_t\] \(\Delta t = jiffies-lrugen_{ts}[Gen_{min}]\)
與授課教師的互動
7 分 一對一討論具體紀錄請參考 2026 Linux 核心設計行事曆 中標記
一對一討論:c8763yee的活動 - 2026/02/24: 課後向授課教師詢問上述 Kernel patch 提交與合併流程的疑問 - 2026/04/21: 課後向授課教師詢問 COSCUP 與期末專題的題目選擇 - 2026/04/27: 第一次一對一討論:詢問期末專題題目方向 在本次一對一時被問到如何使用位元運算來實作浮點數除二,當時由於對過度思考如何處理 Infinity 與 NaN 導致在回答時卡頓 後續 Follow up
- 2026/05/15: 第二次一對一討論:回報期末專題相關研究發現
所見所聞所感
9 分
〈因為自動飲料機而延畢的那一年〉 心得 :
自我評量 (1 ~ 10):
\(GEOMEAN = ( 9 \times 7 \times 5 \times 7 \times 9)^{1/5} = 7.236527563504052\)
方案 B :\(1 + floor(GEOMEAN) = 1 + 7 = 8\)— title: c8763yee (徐彥翔) categories: User —
簡介
2026 Linux 核心設計 春季班 自我評量
成果發表和貢獻
9 分
Kernel patch (Trivial)
我在閱讀 AMD IBS 相關程式碼時發現其 bit-field 註解中 bit 範圍標示錯誤 (正確的範圍應該是 16-31),考慮到可能有人被註解誤導 bit-field 範圍,因此「路見不平,拿 Patch 來補」,發送了我個人的第一個 Linux kernel patch。即使只是修了一行,但畢竟「勿以善小而不為」。
struct {
__u64 comp_to_ret_ctr:16, /* 0-15: op completion to retire count */
- tag_to_ret_ctr:16, /* 15-31: op tag to retire count */
+ tag_to_ret_ctr:16, /* 16-31: op tag to retire count */
reserved1:2, /* 32-33: reserved */
op_return:1, /* 34: return op */
op_brn_taken:1, /* 35: taken branch op */
教材修改
-
> RIP SLOB allocator (2006 - 2023, removed at 6630e950d532)
> RIP SLAB allocator (1996 - 2024, removed at 16a1d968358a)
> Before 4.1, all ftrace tracing control files were within the debugfs file system, which is typically located at /sys/kernel/debug/tracing.
公開演講
- 2026/08/09 — COSCUP 2026 System Software 講題「從個人電腦到資料中心:Linux 記憶體管理的演化」
作業/隨堂測驗
7 分
一開始因為就學期間忽略數學的重要性,導致光是做「探討〈解讀計算機編碼〉」題組在補充缺失的數學知識就花了 3 天。而後面因為 Deadline 接近,因此後面只能針對程式語言的題目進行作答並繼續把之前沒學好的數學重新學習,這樣的結果是在第三次作業時只能先紀錄閱讀教材時的發現與問題。
不過在撰寫作業期間我開始注重使用的詞彙以及對於 C 語言規格書的使用,並且在閱讀課程教材期間也會主動注意教材使用的詞彙並修正。
期末專題
5 分
未完成期末專題
預計題目: 針對 MGLRU 的 reclaim loop 統計 (PID Controller) 根據 Generation 存活時間衰減歷史權重。
\[S_{new} = \frac{S_{old}}{\Delta t}+\frac{\Delta t-1}{\Delta t}x_t\] \(\Delta t = jiffies-lrugen_{ts}[Gen_{min}]\)
與授課教師的互動
7 分 一對一討論具體紀錄請參考 2026 Linux 核心設計行事曆 中標記
一對一討論:c8763yee的活動 - 2026/02/24: 課後向授課教師詢問上述 Kernel patch 提交與合併流程的疑問 - 2026/04/21: 課後向授課教師詢問 COSCUP 與期末專題的題目選擇 - 2026/04/27: 第一次一對一討論:詢問期末專題題目方向 在本次一對一時被問到如何使用位元運算來實作浮點數除二,當時由於對 IEEE 754 格式的 過度思考如何處理 Infinity 與 NaN 導致在實作與說明思路時無法準確說明,甚至把 exponent 的位數說成 10 位。
- 2026/05/15: 第二次一對一討論:回報期末專題相關研究發現
所見所聞所感
9 分
〈因為自動飲料機而延畢的那一年〉 心得 :
自我評量 (1 ~ 10):
\(GEOMEAN = ( 9 \times 7 \times 5 \times 7 \times 9)^{1/5} = 7.236527563504052\)
方案 B :\(1 + floor(GEOMEAN) = 1 + 7 = 8\)
