Messages in this thread | | | Date | Sun, 13 Jan 2002 19:06:33 +0000 | From | Russell King <> | Subject | Re: [2.4.17/18pre] VM and swap - it's really unusable |
| |
On Sun, Jan 13, 2002 at 01:24:20PM -0500, Robert Love wrote: > On Sun, 2002-01-13 at 06:39, Russell King wrote: > > On Sat, Jan 12, 2002 at 10:10:55PM -0500, Robert Love wrote: > > > It can if we increment the preempt_count in disable_irq_nosync and > > > decrement it on enable_irq. > > > > Who says you're going to be enabling IRQs any time soon? AFAIK, there is > > nothing that requires enable_irq to be called after disable_irq_nosync. > > > > In fact, you could well have the following in a driver: > > > > /* initial shutdown of device */ > > > > disable_irq_nosync(i); /* or disable_irq(i); */ > > > > /* other shutdown stuff */ > > > > free_irq(i, private); > > > > and you would have to audit all drivers to find out if they did this - > > this would seriously damage your preempt_count. > > I wasn't thinking. Anytime we are in an interrupt handler, preemption > is disabled. Regardless of how (or even if) interrupts are disabled. > We bump preempt_count on the entry path. So, no problem.
Err. This isn't *inside* an interrupt handler. This could well be in the driver shutdown code (eg, when fops->release is called).
-- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
- 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/
| |