Re: [PATCH] Fix WARN_ON / WARN_ON_ONCE regression

From: Tim Chen
Date: Thu Oct 05 2006 - 18:40:49 EST


On Thu, 2006-10-05 at 14:37 -0700, Andrew Morton wrote:

>
> Tim and Ananiev report that the recent WARN_ON_ONCE changes cause increased
> cache misses with the tbench workload. Apparently due to the access to the
> newly-added static variable.
>
> Rearrange the code so that we don't touch that variable unless the warning is
> going to trigger.
>
> Also rework the logic so that the static variable starts out at zero, so we
> can move it into bss.
>
> It would seem logical to mark the static variable as __read_mostly too. But
> it would be wrong, because that would put it back into the vmlinux image, and
> the kernel will never read from this variable in normal operation anyway.
> Unless the compiler or hardware go and do some prefetching on us?
>
> For some reason this patch shrinks softirq.o text by 40 bytes.
>

Andrew,

Thanks for the patch. I tested it and it helped fix tbench regression
seen earlier and reduced the cache misses.

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