Я написал примерно такой код:
Это в контексте без прерывания:
spin_lock_irqsave(&lock, flags);
printk("some message blah...\n");
spin_unlock_irqrestore(&lock, flags);
Я запускаю этот код и «выглядит» безопасно, потому что не вижу сбоев. Но я не уверен, что это действительно безопасный код или нет. Потому что это может вызвать сбой системы с вероятностью 1/100000.
Кроме того, я хотел бы знать, безопасен ли вызов функции «сна» внутри spin_lock_irqsave (в контексте без прерывания).
lock
? - person   schedule 18.12.2014