Re: buffer_head slab memory leak, Linux bug?

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 2 Sep 2001 13:46:13 +0100 (BST)


> on an SMP machine i get:
> "stuck on TLB IPI wait (CPU#1)"
> the driver that i am debugging uses a spin lock, and sometimes we take the
> lock for a pretty long time.

Basically you can't hold a spinlock too long or the kernel wil conclude the
other processor has hung. Anything which is going to take a spinlock long
enough to trigger that event is so non-scalable its not funny

It could also be that you have a locking error and are leaving the lock
held in some obscure case - and genuinely deadlocking the box.

> this happens during heavy load, which is why i think that the problem
> is that in smp_flush_tlb() in ./arch/i386/kernel/smp.c, one of the CPUs gets
> all upset that the other CPU is stuck in the lock for too long, and releases
> it before it was ment to be released.

Probably

Alan
-
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/