Well, problema a fost că la apariția eveniment EPOLLIN pe un evenfd file
descriptor nu apelam io_getevents() (când citește evenimente din completion
queue al context-ului AIO probabil face cleanup și eliberează resurse?).
Nu imi explic totuși de ce pe mașina mea virtuală mergea și pe cea de
so-vm-linux nu.

Vlad

În data de 25 mai 2016, 09:49, Călin Cruceru <[email protected]
> a scris:

> Salut,
>
> 2016-05-25 2:12 GMT+03:00 Andrei Vlad Postoaca via so <
> [email protected]>:
> > Salut,
> >
> > Nu îmi dau seama de ce la testul 28 pentru fisierul large00.dat îmi
> > transferă 2064384 octeți după care un nou apel io_submit eșuează. Am
> > încercat să verific valorile errno, returneaza EAGAIN (Insufficient
> > resources are available to queue any iocbs) și dacă folosesc macro-ul
> DIE pe
> > valoare de retur primesc un mesaj de genul: (aws.c, 391): io_submit:
> Success
> >
> > Am rulat pe mașina virtuală so-vm-linux testul 28 iar în wget.log am:
> >  2016-05-24 14:57:42 (133 MB/s) - Connection closed at byte 2064384.
> > Retrying.
> >
> > Local pe mașina mea virtuală de Ubuntu 15.10 64-bit îmi trece testul.
> >
>
> Nu știu exact ce cauzează asta - probabil inițializezi contextul cu
> primul parametru (nr_events) prea mic - însă faza cu Success e din
> cauza că funcțiile din libaio nu modifică errno.  Probabil dacă vedeai
> EAGAIN în errno, provenea de la un apel de sistem anterior.
>
> Călin
>
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui