[pso] [tema2][win] DPC-uri, IRP-uri, evenimente

Corneliu Paul Lupulet corneliu.lupulet at gmail.com
Wed Apr 22 12:21:49 EEST 2009


2009/4/22 Bercea Gabriel <gamitech at gmail.com>

>  Daca a trecut un test asta nu inseamna ca va merge in orice conditie care
> poate aparea in ISR.
>
> Poti sa aloci memorie Paged si sa o folosesti intr-un DPC sau spinlock si
> cateodata sa iei BSOD cateodata nu, asta nu inseamna ca driverul tau e scris
> bine.
>

Am zis ca merge bine legat de faptul ca pot apela SetEvent in ISR si nu da
BSOD din aceasta cauza (cum ar fi fost de asteptat daca ISR-ul rula la un
IRQL >  DISPATCH_LEVEL ;)

> ISR ul este mereu apelat la DIRQL, cu intrereruperile masked off, deci
> intreruperea poate fi intrerupta si ea la randul ei de o intrerupere cu un
> IRQL mai mare, ceea ce pentru schedduler/dispatcher si threaduri pending
> conteaza foarte mult.
>

Bun. E ok, asta vroiam sa stiu - daca ISR-ul ruleaza la DISPATCH_LEVEL sau
nu.

> Ceea ce s-a intamplat la tine a fost ca exact in momentul in care ai apelat
> KeSetEvent (KEVENT fiind alocat din nonpaged ) nu a fost nevoie de alta
> componenta a sistemului de operare pentru a marca evenimentul signaled.
> Probabil ai folosit un NotificationEvent.
>

Am folosit SynchronizationEvent.

Astept un raspuns oficial daca se depuncteaza nefolosirea DPC-urilor la
aceasta tema.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20090422/cba7261b/attachment.htm>


More information about the pso mailing list