Messages in this thread | | | Date | Tue, 13 Aug 2002 10:53:59 -0700 | From | Andrew Morton <> | Subject | Re: [patch 2/21] reduced locking in buffer.c |
| |
Linus Torvalds wrote: > > On Sun, 11 Aug 2002, Andrew Morton wrote: > > > > Resend. Replace the buffer lru spinlock protection with > > local_irq_disable and a cross-CPU call to invalidate them. > > This almost certainly breaks on sparc, where CPU cross-calls are > non-maskable, so local_irq_disable doesn't do anything for them. > > Talk to Davem about this - there may be some workaround.
I have discussed it with David - he said it's OK in 2.5, but not in 2.4, and he has eyeballed the diff.
However there's another thing to think about:
local_irq_disable(); atomic_inc();
If the architecture implements atomic_inc with spinlocks, this will schedule with interrupts off with CONFIG_PREEMPT=y, I expect.
I can fix that with a preempt_disable() in there, but ick. - 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/
| |