Re: bh_lru_install

From: Andrew Morton
Date: Tue Jul 27 2004 - 18:03:58 EST


"David S. Miller" <davem@xxxxxxxxxx> wrote:
>
> So I was doing some profiling of memcpy() calls to try and tune
> the UltraSPARC-III memcpy a little more, and you wouldn't believe
> what was at the top of the list during a kernel build :-)
>
> It's bh_lru_install. On a 64-bit system every time the local
> cpu's lru->bh[0] doesn't match 'bh' we do a 64-byte memcpy()
> from the stack into the lru->bh[] array.

Well I said it was dopey-but-simple ;)

> It shouldn't be too hard to make the code just work without
> an on-stack copy, shuffling the lru->bh[] array entries
> directly.

Yup, that plus making it a ringbuffer maybe.

But I don't recall seeing bh_lru_install() standing out on profiles. I
expect that when the system is working hard we're averaging nearly zero
cache misses in that copy. Do you really think it is worth optimising?
-
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/