[pso] __bio_kmap_atomic
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Mon May 3 19:46:32 EEST 2010
On Mon, 2010-05-03 at 19:07 +0300, Lucian Cojocar wrote:
> Salut,
>
> am văzut că există macroul __bio_kmap_atomic, dar nu şi __bio_kmap.
>
> Din ce am înţeles kmap_atomic este folosit pentru mapările temporare în
> spaţiul virtual de 128 MB al nucleului.
Corect.
> Aş vrea să mapez permanent pagini fizice (cu kmap) pentru că:
> - maparea îmi trebuie pe toată durata de viaţă a modului (motive de
> performanţă)
> - maparea e relativ mare (2MB) şi e accesată des
> - maparea se face din context proces
>
> Sunt valide motivele date?
Nu imi dau seama de ce ai avea nevoie de mapare pe intreaga durata a
modulului cat timp bio-urile sunt schimbate de subsistemul I/O ...
well ... ca sosetele. Ce fel de mapare iti ocupa 2MB?
Maparea se poate face din context proces si cu __bio_kmap_atomic.
Restrictia este sa nu folositi actiuni blocante intre ___bio_kmap_atomic
sau __bio_kunmap.
> E recomandat în cazul de faţă să mapez fiecare pagină cu kmap, având în
> vedere că paginile sunt folosite de struct bio?
Nu bag in mana in foc, dar presupun ca merge.
> Funcţia dată de câmpul bi_end_io din structura bio este apelată în
> context întrerupere?
Da.
Razvan
More information about the pso
mailing list