Re: interrupt - spin lock question

From: Robert Love (rml@tech9.net)
Date: Mon Mar 04 2002 - 00:27:49 EST


On Mon, 2002-03-04 at 00:18, sridharv@ufl.edu wrote:
> I have a question related to spin locking on UP systems.Before that I would
> like to point out my understanding of the background stuff
> 1. spinlocks shud be used in intr handlers
> 2. interrupts can preempt kernel code
> 3. spinlocks are turned to empty when kernel is compiled without SMP support.

This is right.

> If a particular driver is running( not the intr handler part) and at this time
> an interrupt occurs. The handler has to be invoked now. Won't the preemption
> cause race conditions/inconsistencies? Is any other mechanism used?
> Pl correct me if I have not understood any part of this correctly
> -sridhar

Right, that is why you would use a spin_lock ! :)

Further, you would want to use a spin_lock_irq and related friends. The
irq disable prevents the race wrt interrupts and the spin_lock prevents
racing wrt SMP.

        Robert Love

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:31 EST