← Back to team overview

helenos-nicf team mailing list archive

Re: deadlock pri vytvareni noveho paketu v on_activated

 

Ano, je jasné, že to budeš dělat dopředným vytvářením.
Vzhledem k tomu, že NET je opravdu při tom volání zablokován (resp. je zablokováno spojení s tímhle NIC), tak evidentně tady to být nemůže. Neblokující to volání udělat není nejvhodnější, protože NETu by mohlo záležet, jestli se to podaří aktivovat - a potvrzovat to extra zprávou mi nepřijde nejšikovnější. Teoreticky by šlo udělat handler post_activate (ve kterém by šlo něco nastavit až po tom, co se aktivuje), ale to mi přijde jako zbytečné komplikování. Pokud chceme šetřit pamětí, je na místě otázka, jestli to nechceme dělat i při užívání karty, pokud ta zrovna nesype data plnou rychlostí. Co kdybys naalokoval už při vytváření zařízení jen pár (ne ty tisíce) packetů? Přičemž adaptivně, pokud bys zjišťoval, že toto množství ti nestačí, by sis alokoval další (asi při ošetření příjmu nějakého přerušení), popř. zase je uvolňoval, pokud by se zdálo, že tam jenom tak leží?

On 19.4.2011 15:26, Zdenek Bouska wrote:

A proč se v té funkci vůbec snažíš vytvářet packet? V ne2k tam jenom
zapínáš a vypínáš ovládánípřerušení, případně na to připravuješ kartu.
Ty se snažíš vytvořit v ní buffery pro příchozí zprávy? Je to
nejvhodnější místo?

Jo presne tak, alokuju tam ty buffery pro prichozi pakety. O tom, ze to budu delat uz doprednym vytvorenim paketu, jsme se dohodli na nektere schuzce.

A kam to podle tebe mam dat? Ja myslel, ze ty buffery v on_activated znova naplnim a v on_stopped je vyrazdnim. Myslel jsem, ze dokud karta neni aktivovana, nemela by zrat pamet na (potencialne) tisice paketu.

Zdenek



_______________________________________________
Mailing list: https://launchpad.net/~helenos-nicf
Post to     : helenos-nicf@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~helenos-nicf
More help   : https://help.launchpad.net/ListHelp

Follow ups

References