나는 다음과 같은 코드 뭔가를 작성했습니다 :spin_lock_irqsave에서 printk를 호출해도 안전합니까?
그것은 비 인터럽트 맥락에서이다 : 나는이 코드를 실행하고 "보이는"하고
spin_lock_irqsave(&lock, flags);
printk("some message blah...\n");
spin_unlock_irqrestore(&lock, flags);
안전 나는 어떤 충돌이 표시되지 않기 때문에. 하지만이 코드가 실제로 안전한 코드인지는 확실하지 않습니다. 왜냐하면 1/100000 확률의 시스템 충돌을 유발할 수 있습니다.
또한, "sleep"함수를 spin_lock_irqsave 내부에서 호출하는 것이 안전한지 (인터럽트가없는 상황에서) 안전한지를 알고 싶습니다.
'잠금'을 얻는 방법이 있습니까? – duskwuff
예,있을 수 있습니다. 그리고, spin_lock_irq ... – jaeyong