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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.