visitorckw
Linux 核心經驗分享
Try
HackMD
visitorckw
·
Follow
Last edited by
visitorckw
on
Mar 11, 2025
Linked with GitHub
Contributed by
Edit
0
Comments
Feedback
Log in to edit or delete your comments and be notified of replies.
Sign up
Already have an account? Log in
There is no comment
Select some text and then click Comment, or simply add a comment to this page from below to start a discussion.
Discard
Send
自我介紹
姓名: 邱冠維 Kuan-Wei Chiu
常用 ID: visitorckw
學歷
國立陽明交通大學 資訊科學與工程研究所 碩二
國立成功大學 資訊工程學系 畢業
國立成功大學 工業與資訊管理學系 輔修 畢業
實習經歷
Yahoo - Search & Ads Engineering Intern
Logitech - Embedded Software Engineering Intern
Google - Software Engineering Intern
AMD - Firmware Intern
Open Source 貢獻經驗
參與 Linux 核心開發約 1.5 年共 80+ patches 被收錄
參與 rv32emu 貢獻約 80 個 commits
修正過 glibc, newlib 的數個 bug 並獲得 CVE 編號
其它經歷
2021 ICPC 台北站銅獎
Linux 核心貢獻經驗
我的第一個 patch
第一個
patch
是修正 document 中的文法錯誤
第一個更改程式碼的
patch
是修正 thermal tool 之中的 NULL pointer dereference 以及 memory leak
第一個更改 kernel space 程式碼的
patch
是透過 binary search 來優化效率
做出更大的貢獻
優化 min heap 效率
減少 heapify 操作中所需要的比較次數 50%
利用 bitwise trick 設計不需要除法指令並且 branchless 的 parent() 函式
加強 API 的型別安全,避免使用 void * 以及強制型別轉換
提供 inline vs non-inline 版本的 API 以應對不同子系統的需求
提供預設的 swap 函式減少 retpoline 所帶來的效率衝擊
優化 lib/sort 排序演算法的效率
使用 double-pop 版本的 heapsort 減少資料搬動的次數
優化 sift-down 過程中遇到相同元素時的選擇
優化最後 2~3 個元素的排序行為並減少處理器需要的分支預測
改進 sort 相關的文件敘述
lib/sort 的後續議題
發現 AMD 處理器上沒有正常進入休眠模式造成電池快速耗盡
發現 ASUS 筆電上耳麥無法正常偵測
相關議程連結
2025 sitcon
2024 coscup
2024 OSS-NA
從競技程式到 Linux 開發
不再是寫程式給機器看,而是寫給人看並且要說服別人
不再只是顧慮演算法複雜度,也需要顧慮其他實務考量
成為 maintainer
min heap 沒有對應的維護者,並且 90% 以上的變更來自我
在 Andrew Morton 的同意之下,開始負責維護 min heap 程式碼
過去做為普通的開發者,我信任維護者會在我犯錯時告知我
作為維護者時,我需要在第一線做出判斷並回覆
除了技術上的 "對" 與 "錯" 之外,還需要決定方向
我拒絕了開發者提出引入動態 array 的要求
參與 Open Source 的好處
許多任職於國際知名公司的高手免費教你寫程式
比起學歷之外,更能夠展現你的專業技能
許多主管經常遇到大量履歷都只有修課與 AI 相關的經驗
我因此在 Google team match 階段獲得青睞
對第一次貢獻 Linux 的建議
務必仔細閱讀
Submitting patches: the essential guide to getting your code into the kernel
!!!
maybe 可以修錯字 -> 但不同維護者的接受程度不同
可以善用靜態分析工具
此類工具容易出現 false positive
務必自己人工仔細 trace 完相關的程式碼
不要在 commit message 中只寫我用 XXX 工具發現問題並修正 !
請在 commit message 中完整分析問題成因、會對哪些 user 造成多大的問題等等
相關工具: cppcheck, coverity scan
從 Jserv 老師課堂考試或作業中尋找貢獻機會
bitops: Optimize fns() for improved performance
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up
Comment