[pso] [Tema5][Lin] Might sleep

Razvan Deaconescu razvand at cs.pub.ro
Sun Jun 10 14:29:48 EEST 2007


Octavian Purdila wrote:
> On Sunday 10 June 2007 01:14, Costin Boldisor wrote:
>> Salut,
>>
>> Dupa ce am creat un bio si i-am adaugat pagina, as fi vrut sa apelez
>> generic_make_request sau eventual submit_bio. Problema este ca in metoda
>> mea de transfer sunt in context intrerupere iar generic_make_request are un
>> might_sleep() la inceput...
>>
>> Vreo sugestie? Si in general, care este modalitatea de a face (sau de a
>> incepe) actiuni de durata (sau care fac sleep) din context intrerupere?
>>
> 
> schedule_work()

in afara de coada de sarcini (workqueue) poti realiza o sincronizare 
simpla folosind o coada de asteptare (waitqueue); dupa ce aloci bio-ul, 
faci un wake_up pe coada; in contextul neamanabil initial (in care 
tratezi bio-ul pe /dev/ssr) astepti la coada si apoi poti face un 
generic_make_request pentru a trata bio-ul nou creat

Razvan


More information about the pso mailing list