Portál AbcLinuxu, 26. dubna 2024 14:25


Dotaz: Futex - co to je a k comu to je.

3.3.2010 02:08 lolo6 | skóre: 20
Futex - co to je a k comu to je.
Přečteno: 677×
Odpovědět | Admin
Z wiki viem, ze sa jedna o nejaky uzamkynaci algoritmus. Ale na OpenSuse 11.1 x86-64 mi dost komplikuje pracu na niektorych AV programoch. Na pohlad to vyzera ako zamrznutie v skutku zacne toto do nekonecna nieco odpocitavat. Co sa s tym da robit?

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

Odpovědi

frEon avatar 3.3.2010 06:12 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Futex - co to je a k comu to je.
Odpovědět | | Sbalit | Link | Blokovat | Admin
futex je pekne vysvetleny v manualu.

Jinak, pokud mas problem se zamykanim, tak asi hledej chybu v kodu. Jak jsi na to prisel? Strace?
Talking about music is like dancing to architecture.
3.3.2010 18:40 lolo6 | skóre: 20
Rozbalit Rozbalit vše Re: Futex - co to je a k comu to je.
Ano cez strace. Lebo najprv som nemohol spustit remote pre VDR http://www.abclinuxu.cz/poradna/linux/show/295774 a zistil som toto, poto som zistil, ze to nemusi byt len rcu, lebo tiez to zacalo, ked som chcel pustit VDR s xine - pluginom. No a teraz mi povedz, ako mam hladat chybu kodu, ked ten remote pri vytvoreni ziadnu nehlasil a druhy pokus s xine bol s native Suse rpm-kou. Da sa ten Futex vypnut?Alebo ako to riesit? Dik za reakciu.
3.3.2010 22:09 Igis
Rozbalit Rozbalit vše Re: Futex - co to je a k comu to je.
No, vypnout se to da ale ne tak aby ti to bylo k cemu. Futex je specificka fast implementace mutexu. Jinymi slovy, program se snazi spolu synchronizovat dve a vice vlaken-napr aby vzdy pouzivalo urcity resource pouze jedine. Protoze tam ma autor botu tak mutex nikdo neuvolni a vlakna cekaji a cekaji. Neni moc co muzes delat, ledaze bys pochopil kod ktery, futex pouziva a zjistil proc se futex vlastne neuvolni, nebo alespon kdo ho aktualni drzi - jako stafetovy kolik, bezi jen ten kdo ho ma a ostatni cekaji.

Snad to pomuze, Igor
4.3.2010 02:08 lolo6 | skóre: 20
Rozbalit Rozbalit vše Re: Futex - co to je a k comu to je.
No a preco mam s tym problemy akurat ja. A nikto na Ubuntu, alebo Debiane s dannym src (VDR)chybu nema. Drzim sa distra OpenSuse, ale raz ma trpezlivost prejde. Mimochodom na nete su k futexu aj nejake patche od autora Inga Molnara.Len nejaky popis, ze co vlastne patchovat chyba.
4.3.2010 06:34 Mordae
Rozbalit Rozbalit vše Re: Futex - co to je a k comu to je.
O tyhle patche se nestarejte, je to na 99.9% bezny provoz na Linux Kernel Mailing Listu, kde se tyhle veci probiraji a do Vaseho jadra se pres vyvojare Vasi distribuce dostanou "samy".

Na 99.999% neni chyba v implementaci systemoveho volani futex, ale v kodu, ktery jej uziva. Dnes je temer vyhradnim uzivatelem totiz knihovna pthread, cili POSIXova vlakna (threads).

Program, ktery pouzivate, bud v nejake situaci skonci v tzv. dead locku - dve vlakna na sebe navzajem cekaji na mutexu nebo condition; nebo, coz je pravdepodobnejsi, jedno vlakno je proste pomocne a ma spat vetsinu casu, dokud se pro nej neobjevi prace, takze se uspi na condition (futex) a ceka treba pul hodiny a druhe vlakno, hlavni vykonne se zasekne na necem uuuuplne jinem.

Uf... takze... nahlaste vyvojarum Vasi distribuce, pripadne vyvojarum SW, ze se Vam ten SW zasekava, pri cem to dela a nechte se od nich vest.
6.3.2010 00:20 lolo6 | skóre: 20
Rozbalit Rozbalit vše Re: Futex - co to je a k comu to je.
No, super. Dat to bug-u , ale ano. Len, niektore bugy maju cakaciu dobu aj dva roky, A to este, ked do toho zapocitam VDR, co ide tiez uz cez dva roky na vyvoji, tak to da vysledok... Ine riesenia nie su? Zlaty Suse 10.3 ,u toho som ziadnu takuto chytrost nezaznamenal.

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.