Случай с mutex_lock совершенно другой - затрагиваются только потоки, пытающиеся получить доступ к блокировке, и если поток достигает заблокированного мьютекса, то происходит перепланирование. По этой причине mutex_locks нельзя использовать в прерываниях (или других элементарных) контекстах.
процесс в пространстве ядра содержитspin_lock
процесс не может быть прерван из-за какого-либо из следующих условий:
Однако процесс может дать процессор, если он блокирует, спит или явно вызываетschedule()
, Правильно ли мое понимание?
Когда процесс в пространстве ядра содержитmutex_lock
Может ли процесс быть прерван из-за вышеуказанных условий, перечисленных как 1, 2 и 3.