Linux kernel locking - 0 - 同步問題

繼之前 scheduling while atomic 之後,
最近繼續研究, 在 kernel hacking 這邊看到這篇
https://www.kernel.org/doc/html/latest/kernel-hacking/locking.html
想想再來紀錄一下最近的心得.

先從同步問題介紹起:

https://github.com/neojou/new_ldd/blob/master/scheduling/sched_atomic0.c


這兩個 thread 都會存取 sum 這個變數.
可以發現執行完後, sum 值並非 0.

處理sum 運算的是一個 critical section.

1. critical section
    (1) no conflict:  一次只能讓一個 thread 進入
    (2) no deadlock: 有空位時, 讓想進入的可以進入
    (3) no starvation: 等待進入是 有限時間


留言

熱門文章