Re: Instrumenting high latency
From: Con Kolivas
Date: Mon Jul 12 2004 - 01:44:53 EST
Andrew Morton writes:
Con Kolivas <kernel@xxxxxxxxxxx> wrote:
Because of the recent discussion about latency in the kernel I asked William
Lee Irwin III to help create some instrumentation to determine where in the
kernel there were still sustained periods of non-preemptible code. He hacked
together this simple patch which times periods according to the preempt
count.
Looks sane.
The patch appears to require CONFIG_PREEMPT enabled on uniprocessor and is
i386 only at the moment.
Not sure what you mean by "on uniprocessor"? AFAICT the patch will work
as-is on uniprocessor and on SMP. Looks like it'll work with
CONFIG_PREEMPT=n, too, although that would be a slightly bizarre thing to
That was WLI's aim, but I had one user report an OOPS with that combination.
do.
+ print_symbol("%s\n",
+ __get_cpu_var(preempt_exit));
I'll change this to
print_symbol("%s",
__get_cpu_var(preempt_exit));
printk("\n");
so it doesn't make a mess with CONFIG_KALLSYMS=n.
Ok
It's not heavily tested but ran for a day on my box at home. It can trip
over itself saying that it's own code paths are a problem too if it gets
real busy.
Cheers,
Con
-
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/