[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