why spinlock raises IRQL to DISPATCH



Why does spinlock implementation raise the irql to dispatch level? just
acquiring the lock at passive level should prevent other threads from
accessing the same lock.

.



Relevant Pages

  • Re: How to check if a spin lock has been freed or released?
    ... Calling NdisAllocateSpinLock() on a lock you already hold might not ... and it might break the lock on an SMP ... the IRQL to DISPATCH_LEVEL prevents that from happening, ...
    (microsoft.public.development.device.drivers)
  • Re: PREfast and the Cancel Safe Queue sample
    ... if you annotate the function with __drv_acquiresResource it should let PFD know that the lock being acquired does not need to be released in the same context. ... Please do not send e-mail directly to this alias. ... > and does not restore the IRQL before it exits. ...
    (microsoft.public.development.device.drivers)
  • Re: why spinlock raises IRQL to DISPATCH
    ... > accessing the same lock. ... You can think of a spinlock as a two dimensional object. ... dimension is IRQL and that synchronizes on the local processor only. ... raise to this maximum level when ever you acquire otherwise that interrupt ...
    (microsoft.public.development.device.drivers)
  • Re: PREfast and the Cancel Safe Queue sample
    ... Am I wrong there are annotations to say PREfast that return with lock ... and does not restore the IRQL before it exits. ... where in the function do I place the annotation ...
    (microsoft.public.development.device.drivers)
  • Re: PREfast and the Cancel Safe Queue sample
    ... the analysis tool sees that a lock is acquired but not released in the same function. ... > and does not restore the IRQL before it exits. ... where in the function do I place the annotation ... > the IRQL and does not restore the IRQL before it exits. ...
    (microsoft.public.development.device.drivers)

Loading