Portál AbcLinuxu, 22. července 2025 23:23


Dotaz: Uninterruptible sleep

26.9.2009 14:12 ewerrrrrrrrrr
Uninterruptible sleep
Přečteno: 253×
Odpovědět | Admin

Ako zabit proces v stave "Uninterruptible sleep" pod debianom?

 

Dakujem.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.9.2009 17:39 NN
Rozbalit Rozbalit vše Re: Uninterruptible sleep
Odpovědět | | Sbalit | Link | Blokovat | Admin

To nejde, ale muzes skusit zabit nadrazeny proces.

NN

27.9.2009 10:20 JF | skóre: 23
Rozbalit Rozbalit vše Re: Uninterruptible sleep
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nejlepe v kernelu.

Ale kdyz das "nice -20", tak mas jistotu, ze zadny proces z user space te neprerusi.

tsLnox avatar 27.9.2009 13:02 tsLnox | skóre: 31 | blog: Blog jednoho ukecaného Gentoolemana | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: Uninterruptible sleep
Hádám dobře, že pokud ten proces s nice -20 bude hodně náročný (řekněme třeba emerge :-D), tak už se k systému nedostane, dokud ten proces neskončí?
michich avatar 27.9.2009 13:15 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Uninterruptible sleep
Nejlepe v kernelu.
Těžko říct, jak tohle myslíš.
Ale kdyz das "nice -20", tak mas jistotu, ze zadny proces z user space te neprerusi.
Nevidím souvislost s dotazem, ale je to každopádně nepravda.
28.9.2009 11:32 JF | skóre: 23
Rozbalit Rozbalit vše Re: Uninterruptible sleep

Pokud si vyrobis svuj vlastni kod, ve kterem zavolas usleep/nanosleep, ktery je tvoren spinlockem, a navic das tomuto procesu prioritu -20, tak ti mohu garantovat, ze te nic neprerusi.

Pokud tvuj kod neuvolni CPU, tak celu pocitac vytuhne.

Protoze to pouzivam, tak mohu potvrdit, ze to funguje.

michich avatar 28.9.2009 17:43 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Uninterruptible sleep
Mám pocit, že nesprávně chápeš slovo "spinlock" jako synonymum pro aktivní čekání. Nicméně, i když si v tvé větě nahradím s/spinlock/busy wait/, tak je mylná, protože nanosleep je v aktuálních kernelech implementován pomocí high-res timers jako uspání procesu a jeho probuzení za danou dobu.

Dále nesprávně zaměňuješ pojmy "priorita" a "úroveň nice". Nice dává smysl pouze u procesů třídy SCHED_OTHER, a ty mají vždy prioritu 0. V jejich plánování není garantováno prakticky vůbec nic. Proces s nice -20 v žádném případě není chráněn proti preemptnutí procesem s nice 0.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.