Info

5aw_flaE&() value restorejfliEsQ artien

a

_j^lobal_cli()

i

2

__CLiO

3

__sti()

Finally, the synchronize_irq( ) function is called when a kernel control path wishes to synchronize itself with all interrupt handlers:

for (i = 0; i < smp num cpus; i++) if (local_irq_count(i)) { cli( ); sti( ); break;

By invoking cli( ) , the function acquires the global_irq _lock spin lock and then waits until all executing interrupt handlers terminate; once this is done, it reenables interrupts. The synchronize_irq( ) function is usually called by device drivers when they want to make sure that all activities carried on by interrupt handlers are over.

Was this article helpful?

0 0

Post a comment