Re: + spinlock_debug-dont-recompute-jiffies_per_loop.patch added to -mm tree

From: Ingo Molnar
Date: Tue Jul 25 2006 - 16:47:33 EST



* Dave Jones <davej@xxxxxxxxxx> wrote:

> > iteration limit, gets recomputed every time. Caching it explicitly
> > prevents that.
>
> What is the purpose of those __delays being there at all ? Seems odd
> to be waiting that long when the spinlock could become available a lot
> sooner. (These also make spinlock debug really painful on boxes with
> huge numbers of CPUs).

the debug code has to figure out when to trigger a deadlock warning
message. If we are looping in a deadlock with irqs disabled on all CPUs,
there's nothing that advances jiffies. The TSC is not reliable. The
thing that remains is to use __delay(1). We could calibrate the loop
separately perhaps?

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