Try   HackMD

2021q1 第 18 週測驗題

tags: linux2021

目的: 檢驗學員對 RCU 同步機制, lock-free 程式設計, concurrent linked list, thread-local storage (tls), atomics, SMP 的 false-sharing 的認知

作答表單

測驗 1

考慮二種 concurrent linked list 操作手法:

  • lock-based
  • lock-free

在 AMD Ryzen Threadripper 2990WX 32-Core Processor 上,參考的效能評比:

  • bench-lock
    • 982500 operations per second
  • bench-lockfree
    • 10771081 operations per second

原始程式碼:

執行 make 可建構出二個執行檔: bench-lockbench-lockfree

請參照 lock.c 的行為,補完 lockfree.c 程式碼,使得 bench-lockfree 執行符合預期,並不該遇到任何 assertion 錯誤。

作答區

XXX = ? (第 97 行)
YYY = ? (第 288 行)
ZZZ = ? (第 288 行)
RRR = ? (第 489 行)