--- title: eleanor (林祐君) categories: User ... # 簡介 * 國立成功大學 資訊管理所 * GitHub: [`eleanorLin`](https://github.com/eleanorLYJ) * HackMD: [`eleanorLin`](https://hackmd.io/@eleanorLin) ## 1. 成果發表和貢獻 我給自己 10 分 2 月 18 日到 7 月 2 日被收錄的貢獻 ### kernel * 名為 [Introduce and use generic parity32/64 helper] patch series,其中有被收錄的 commit: * [media: saa7115: Replace open-coded parity calculation with parity8()](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=118f2834b27ffe06a1badcd74fa35bb14cf1d339) * [media: media/test_drivers: Replace open-coded parity calculation with parity8()](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=47e0452b40af6bf821a96e34d95fd5915fe4c7a6) * [media: pci: cx18-av-vbi: Replace open-coded parity calculation with parity8()](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=df698f3d10871a6ca8446d8edb87a89433e4029e) * [sctp: Fix undefined behavior in left shift operation](https://lore.kernel.org/lkml/20250525144650.2365704-1-eleanor15x@gmail.com/) ### rv32emu * [Raise exception when RV32E instructions use x16-x31](https://github.com/sysprog21/rv32emu/pull/578) ### lkmpg * [Clarify usage differences between spinlock functions](https://github.com/sysprog21/lkmpg/pull/294) * [Add explanation of mutexes and function variants]( https://github.com/sysprog21/lkmpg/pull/309) * [Change title to 'Synchronization' for better alignment with content](https://github.com/sysprog21/lkmpg/pull/312) ## 2. 作業/隨堂測驗 我給自己 2 分,對此門課的作業/隨堂測驗投入時間還有完成度都不足。 * lab0: [hackmd](https://hackmd.io/@eleanorLin/linux2025-homework1) / [Github](https://github.com/eleanorLYJ/lab0-c): 完成佇列操作的程式碼實作、另外學習使用 valgrind、GDB 測試程式,最後有實作 Fisher–Yates shuffle 演算法。 * 2025q1 Homework2 (quiz1+2) :[hackmd](https://hackmd.io/@eleanorLin/linux2025-homework2) * 2025q1 Homework5 (assessment) :[hackmd](https://hackmd.io/rOlNuORLQD-uPAn8ASKlKA) ## 3. 期末專題 我給自己 6 分 ### 本人專題: 開發紀錄: [Linux 核心專題: 高度並行的 Valkey 實作](https://hackmd.io/0IXT5cRMSouta_tZdX9FKg) / [Github](https://github.com/eleanorLYJ/mt-redis) 具體貢獻是成功完成在 mt-redis 的實驗。然而,關於 mt-redis 的理解,未能及時掌握其中其實現多執行緒的核心原理。起初,我過度專注於 valkey 的實作細節與原理,導致無法從高層次視角理解問題,進而無法將 valkey 從單執行緒轉為多執行緒。在期末專題的實作過程中,我時常陷入細節,未能跳脫狹隘的框架,缺乏對整體架構的把握。因此,我未能成功將 URCU 整合進 valkey 的實作中。 ### 對他人專題的發問 * [Linux 核心專題: bitops 相關測驗題](https://hackmd.io/@sysprog/B13UVSQWel) * [Linux 核心專題: 作業系統的設計和開發](https://hackmd.io/d6m0WpZvQd6xfJqZFlWrXw?view) - [核心專題: 記憶體模型](https://hackmd.io/YYY1kFLTQEyqd-zyXwG8IQ?view) - [Linux 核心專題: 並行程式設計相關測驗題](https://hackmd.io/zobDB6-ORmCJ7pjtP20T4g?view) ## 4. 與授課教師的互動 我給自己 6 分 4/17 討論主題為 IRQ,為甚麼要區分 top half 與 bottom half? 還有 spinlock 與其他 lock 的差別? 4/23 一對一討論 5/20 uruc + valkey。為甚麼 redis 比一般資料庫更快? 並討論要將 redis 從改成並行困難點? ## 5. 所見所聞所感 我給自己 10 分 * 教師總是強調「誠實面對自己」。我將「誠實」態度當作我成長的重要指標。另外,想成為一名工程人員,就得注意細節和講話精確至關重要。教授也一再提醒我,在描述時要進一步精進語句表達。我深知自己的敘述往往以自己的角度出發,而非假設以對我的內容一無所知的對象,因此常常會自動忽略一些關聯性。 * 邱繼寬同學去 Open Source Summit North America 的分享,讓我意識到大佬通常都是充滿熱情,除了外在動力(如錢),更是有強大的內在動力驅動他們去精進程式能力。 * 閱讀 《因為自動飲料機而延畢的那一年》時,發現我對現實有不切實際的幻想,而當要理解自己與現實的差距時,將面對巨大挫折感。 * 因此此門課有教師有時幽默、有時嚴厲、循循善誘教學風格下,理解工業強度的現實是以多麼複雜的流程運作著。 * 課程強調觀摩他人的做法並提出建議。而我發現,要提出深入的建議,就必須更加投入。 * 在閱讀 Linux kernel 程式碼的過程中,我看到了很多能夠從細節中發現錯誤並改進的人的例子,讓我敬佩這些人的細心與創意,也期待自己能夠成為這樣的人。 * 培養官方文件、可靠來源資訊的好習慣 ## 分數 採用方案 A 計算方式,我的分數為 9 分。