Uninterruptible sleep

Petr Heřman ph na lf2.cuni.cz
Pondělí Březen 3 11:46:38 CET 2008


Asi to kazdy zazil, proces ve stavu D, ktery nejde killnout, zarizeni nejde
odmountovat, atd., a co s tim? Jedine tvrdy reset?

http://usenet.jyxo.cz/cz.comp.linux/0303/kill-procesu-v-stave-uninterruptible-sleep.html
https://www.abclinuxu.cz/forum/show/193288

Posledni dobou mi nejak blbnou ctecky karet na USB a tak to mam na dennim
poradku. Ve stavu D zustane viset sync, tim padem i shutdown a dalsi procesy
jadra - [usb-storage], [khubd], [scsi-eh-7] atd., posleze se nejde ani
zalogovat ani odlogovat, az uz skutecne jina moznost nez tvrdy reset nepomuze.

Nekdy se zda, ze pomuze "lazy" umount:
  umount -l
Na prvni dojem se to tvari, jako ze problematicke zarizeni je skutecne
odmountovano, ale ty procesy jsou na tom zadrene porad, i ten sync.
(A abych pravdu rekl, jeste se mi nepodarilo zcela pochopit, co to
"lazy" dela a nedela.)

Tak si rikam, ze snad musi existovat nejaky inteligentni postup, jakym tu
lavinu naslednych katastrof a jejich nasledku odvratit nebo alespon zmirnit!
Preci kvuli jedne blbe flashce si nenecham takhle nicit vsechny ostatni
filesystemy?

Treba nejaka finta, jak se dostat do jadra pres /proc a trochu mu domluvit,
nez bude pozde. V ruznych diskusich jsem vystoural rady jako ze asi co
nejdriv udelat:

Mit jadro zkompilovane s volbou CONFIG_MAGIC_SYSRQ a pak dat:
echo t > /proc/sysrq-trigger
pripadne s volbou b (ale vysledek bude asi stejny jako hard reset, myslim)

Zkusit:
reboot -f -d
reboot -f -n

Petr Herman



Další informace o konferenci Linux