Re: [PATCH] Remove 8 bytes from struct page on 64bit archs

Anton Blanchard (anton@samba.org)
Mon, 7 Jan 2002 00:33:26 +1100



Hi Bill,

> Very true. I devised something to address this that appears to work on
> multiple architectures already by folding ->zone into ->flags, which
> could be useful. (Dave Jones recommended I just let arch maintainers
> for things other than i386 mess with page_address() for other arches.)
> OTOH, I'm more interested in getting it trimmed down than getting credit.

For archs that need ->zone, merging it with ->flags sounds like a
great idea. Id like to cram something into ->flags on 64 bit archs
since its only a long due to bitop constraints. I had thought of
stuffing ->count in the high word but now Im just getting silly
since all non atomic accesses to ->flags would then have to be word
ones.

> My i386 version, which makes ->virtual conditional on CONFIG_HIGHMEM as
> well, is at:

Id like to do redo some profiling, on ppc64 we had page_address() doing
pointer arithmetic (instead of page->virtual) and the compiler created
an awful sequence of instructions in the acenic interrupt handler.
A zero copy TCP benchmark made it rather obvious.

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