Re: [PATCH] Fix WARN_ON / WARN_ON_ONCE regression

Tim Chen
2006-10-05T22:40:31Z

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