--- tags: linux2022 --- # 2022q1 Homework6 (quiz6) contributed by < `hsuedw` > * [作業需求](https://xxxx) * [測驗題目](https://hackmd.io/@sysprog/linux2022-quiz6) * [作業繳交區](https://) * Due Date: --- # 測驗 1 ## 題目 [題目描述](https://hackmd.io/@sysprog/linux2022-quiz6#%E6%B8%AC%E9%A9%97-1) ## 作答 * `EXP1`: `node->tid_copy` * `EXP2`: `node->tid` --- # 測驗 2 ## 題目 [題目描述](https://hackmd.io/@sysprog/linux2022-quiz6#%E6%B8%AC%E9%A9%97-2) ## 作答 * `KKKK` = `&prev->next` * `QQQQ` = `&head->next` * `ZZZZ` = `&prev->next` ## 延伸問題 1. 解釋上述程式碼運作原理,並指出其設計和實作的缺失 (如原本只接受 uin32_t 型態的輸入,無法處理字串作為 key) ## 延伸問題 2. 研讀 [lfht](https://github.com/ksandstr/lfht) (Lock-free wait-free hash table using C11 atomics) 程式碼及對應的論文 [Lock-Free Linked Lists and Skip Lists](http://www.cse.yorku.ca/~ruppert/papers/lfll.pdf) ## 延伸問題 3. 參照 [atomic_hash](https://github.com/divfor/atomic_hash) 及其內建的測試程式,用更大規模的來測試 --- # 答案卷 [2022 年 Linux 核心設計第 6 週隨堂測驗 (A) ](https://docs.google.com/forms/d/e/1FAIpQLSetw3blp79lmRB1EdtUQWjgRVaquYGIViKa7_5m9-TfWb5u-w/viewscore?viewscore=AE0zAgB4hE2KrsUEzutVmoIPcAzSwTLuGttFx_ooYxnF8AKH711HhStwrOCSBWMEAw)