LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

Это как раз случай чтения с диска.

И что конкретно «блокирует» ядро от чтения данных с диска?

Внезапно, операция обмена с диском.

«Хитрая магия» продолжается миллисекунды

Ну и зачем прерывать эти миллисекунды?

Вот именно эти миллисекунды можно и не прерывать (хотя можно и прерывать), за одним важным исключением - за счет сигналов и/или тайм-аутов должно быть обеспечено разумное функционирование на сбойных устройствах (привет ушлепку Хартману и USB-подсистеме). Но большая операция read/write включает в себя десятки операций В/В на устройствах - после завершения каждой из них следует проверять флаг получения сигнала и отваливаться.

Исходная версия tailgunner, :

Это как раз случай чтения с диска.

И что конкретно «блокирует» ядро от чтения данных с диска?

Внезапно, операция обмена с диском.

«Хитрая магия» продолжается миллисекунды

Ну и зачем прерывать эти миллисекунды?

Вот именно эти миллисекунды можно и не прерывать (хотя можно и прерывать), за одним важным исключением - за счет сигналов и/или тайм-аутов должно быть обеспечено разумное функционирование на сбойных устройствах (привет ушлепку Хартману и USB-подсистеме). Но большая операция read/write включает в себя десятки операций В/В на устроствах - после завершения каждой из них следует проверять флаг получения сигнала и отваливаться.