2000-08-12 17:37:46

by Russell King

[permalink] [raw]
Subject: PageSkip

I've just done a grep for PageSkip on all .c and .h files in the current
(2.4.0-test6) kernel, and have come up with:

./include/asm-i386/pgtable.h:#define PageSkip(page) (0)
./include/asm-mips/pgtable.h:#define PageSkip(page) (0)
./include/asm-alpha/pgtable.h:#define PageSkip(page) (0)
./include/asm-m68k/pgtable.h:#define PageSkip(page) (0)
./include/asm-ppc/pgtable.h:#define PageSkip(page) (0)
./include/asm-arm/pgtable.h:#define PageSkip(page) (machine_is_riscpc() && test_bit(PG_skip, &(page)->flags))
./include/asm-sh/pgtable.h:#define PageSkip(page) (0)
./include/asm-ia64/pgtable.h:#define PageSkip(page) (0)
./include/asm-mips64/pgtable.h:#define PageSkip(page) test_bit(PG_skip, &(page)->flags)
./include/asm-s390/pgtable.h:#define PageSkip(page) (0)
./arch/arm/mm/init.c: if (PageSkip(page)) {
./arch/mips64/sgi-ip27/ip27-memory.c: if (PageSkip(mem_map+tmp))

Since this macro is only used in two architecture-specific places, is there
any reason to keep it in the header files?

On ARM, I'm planning on moving it out of pgtable.h and into mm/init.c.
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King [email protected] --- ---
| | | | http://www.arm.linux.org.uk/personal/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |


2000-08-13 00:04:15

by David Miller

[permalink] [raw]
Subject: Re: PageSkip

From: Russell King <[email protected]>
Date: Sat, 12 Aug 2000 19:01:53 +0100 (BST)

I've just done a grep for PageSkip on all .c and .h files in the current
(2.4.0-test6) kernel, and have come up with:

...

Since this macro is only used in two architecture-specific places, is there
any reason to keep it in the header files?

On ARM, I'm planning on moving it out of pgtable.h and into mm/init.c.

It should die just about everywhere, there should be no use for it
anymore for any port.

it only existed to handle generic parts of the kernel which wished to
walk the mem_map[] array by hand, there is no such code any more
thanks to various cleanups by Kanoj and others. Ergo PageSkip and
PG_skip can both be just eradicated along with any code referencing
it. Unless, you are using it for some strange purpose inside your
ports, and I bet even those cases can be easily removed.

Later,
David S. Miller
[email protected]