On Monday 10 February 2003 15:30, Mihai RUSU wrote:
> Hmmm. Ok, deci incep sa ma prind. Deci primul thread scrie foarte
> repede in acel buffer. Si probabil ca sa scrii blocant in pipe e out
> of question ca s-ar bloca si nu ar mai culege datele. Iar sa scrii
> non-block si sa cache-uiesti datele care inca nu au incaput in pipe
> ajungem la de unde am pornit. Daca al doilea thread e foarte CPU
> intensive fata de primul incearca sa-i dai o prioritate foarte mare
> (nice?). Altceva nu stiu ce sa zic...
  De-asta nici macar nu folosesc pipe-uri - ci un buffer care poate fi 
scris/citit de cele doua fire. (Pipe ar insemna trecerea prin kernel si 
in userland iarasi, ceea ce m-ar trage in jos). Pipe-ul in principiu 
merge educat (la bandwidth-ul la care ma mishc e totusi mult prea 
lent). Nu pot sa fac nici renice/schimbare de schedule-params pentru ca 
nu pot rula ca superuser (in cel mai bun caz pot sa imi maresc valoarea 
nice, ceea ce nu e chiar nice :) ). Daca puteam rula ca superuser 
probabil schimbam prioritatea statica la ceva mai mare si setam o 
planificare tip RoundRobin sau FIFO - sched_setscheduler(2). Dar nu 
pot. Practic singura solutie pe care o mai vad ar fi sa "preemptez" 
consumerul cand simt ca e prea lenesh. Dar nu shtiu cum/daca e posibil.


-- 
Dorin "sp00ky" Lazar, programmer
Registered Linux user #162515

--
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui