LINUX.ORG.RU

lock_kernel/unlock_kernel


0

0
Область в которой вызывается lock_kernel unlock_kernel уже заблокирована на запись, нафига вызывать lock_kernel unlock_kernel???
Я это обнаружил в sys_close!!!!!!!!!!!!!!

write_lock

lock_kernel
какое-то действие
unlock_kernel
write_unlock
anonymous
> Область в которой вызывается lock_kernel unlock_kernel > уже заблокирована на запись

семафоры защищают вовсе не участок кода под которыми он выполняется, а данные с которыми этот код работает.

idle ★★★★★
()
> Область в которой вызывается lock_kernel unlock_kernel > уже заблокирована на запись

семафоры защищают вовсе не участок кода под которыми он выполняется, а данные с которыми этот код работает.

idle ★★★★★
()
ну, например,чтобы обработчик некстати случившегося прерывания не захавал особо ценное в данный момент процессорное время...
anonymous
()
Ответ на: комментарий от anonymous
разные semaphore/spinlock/lernel_lock зашищают
разные подсистемы.

ну представьте, что вы процесс перемещаете между
CPU. вам нужно заблокировать обе runqueue сразу,
т.е. взять 2 spinlock'а, хотя для того, чтобы этот
участок кода не выполнялся достаточно было бы одного
(и вообще любого наугад выбранного).

прерывания в данном случае не при чем.
idle ★★★★★
()
а на однопроцессорной системе?
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.