[pso] [Tema 3][lin] atentie la bio_endio
Ciprian Mihai Coman
ciprianmihai.coman at gmail.com
Fri Apr 15 12:59:56 EEST 2011
Salut,
Pentru a trimite cate o singura cerere de prelucrare la discurile fizice s-a
sugerat sa folosim workqueues. Intuitiv eu am tratat toata prelucrarea bio
in handlerul care ruleaza jobul din workqueue. Astfel, cand rulez
bio_endio() in handlerul workqueue masina virtuala pare sa ramana intr-un
ciclu infinit (procesor in 100% si nu raspunde la comenzi).
Problema este cauzata de rularea bio_endio() intr-un kernel thread. Solutia
este asteptarea terminarii prelucrarii jobului din workqueue si apelarea
bio_endio() in handlerul de read/write sau rutina inregistrata cu
blk_queue_make_request.
--
Ciprian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20110415/b013cfc7/attachment.htm>
More information about the pso
mailing list