kernel-hacking-2024-linux-s.../arch/mips
Will Deacon 5d3a551c28 mm: hugetlb: add arch hook for clearing page flags before entering pool
The core page allocator ensures that page flags are zeroed when freeing
pages via free_pages_check.  A number of architectures (ARM, PPC, MIPS)
rely on this property to treat new pages as dirty with respect to the data
cache and perform the appropriate flushing before mapping the pages into
userspace.

This can lead to cache synchronisation problems when using hugepages,
since the allocator keeps its own pool of pages above the usual page
allocator and does not reset the page flags when freeing a page into the
pool.

This patch adds a new architecture hook, arch_clear_hugepage_flags, so
that architectures which rely on the page flags being in a particular
state for fresh allocations can adjust the flags accordingly when a page
is freed into the pool.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Michal Hocko <mhocko@suse.cz>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-09 16:22:24 +09:00
..
alchemy MIPS: MTX-1: Add udelay to mtx1_pci_idsel 2012-08-17 10:57:27 +02:00
ar7
ath79 MIPS: ath79: Use correct IRQ number for the OHCI controller on AR7240 2012-08-17 10:57:27 +02:00
bcm47xx
bcm63xx sections: fix section conflicts in arch/mips 2012-10-06 03:04:39 +09:00
boot
cavium-octeon Merge 3.6-rc6 into tty-next 2012-09-16 17:31:36 -07:00
cobalt
configs netfilter: remove xt_NOTRACK 2012-09-03 13:36:40 +02:00
dec
emma
fw
include mm: hugetlb: add arch hook for clearing page flags before entering pool 2012-10-09 16:22:24 +09:00
jazz
jz4740
kernel Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2012-10-08 07:56:10 +09:00
lantiq MIPS: Lantiq: Platform specific CLK fixup 2012-08-01 17:58:09 +02:00
lasat
lib
loongson MIPS: Loongson 2: Sort out clock managment. 2012-08-01 18:10:06 +02:00
loongson1 MIPS: Loongson 1: more clk support and add select HAVE_CLK 2012-08-01 17:59:23 +02:00
math-emu
mipssim
mm MIPS: mm: Add compound tail page _mapcount when mapped 2012-08-27 16:10:21 +02:00
mti-malta Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-09-22 12:47:53 -07:00
netlogic Merge branches 'next/generic', 'next/alchemy', 'next/bcm63xx', 'next/cavium', 'next/jz4740', 'next/lantiq', 'next/loongson1b' and 'next/netlogic' into mips-for-linux-next 2012-07-25 16:37:46 +02:00
oprofile Merge branches 'next/generic', 'next/alchemy', 'next/bcm63xx', 'next/cavium', 'next/jz4740', 'next/lantiq', 'next/loongson1b' and 'next/netlogic' into mips-for-linux-next 2012-07-25 16:37:46 +02:00
pci sections: fix section conflicts in arch/mips 2012-10-06 03:04:39 +09:00
pmc-sierra PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
pnx833x
pnx8550
power
powertv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-07-24 10:01:50 -07:00
rb532
sgi-ip22
sgi-ip27 mips: zero out pg_data_t when it's allocated 2012-07-31 18:42:49 -07:00
sgi-ip32
sibyte
sni serial: Add note about migration to driver SCCNXP 2012-09-05 13:24:40 -07:00
txx9 MIPS: txx9: Fix redefinition of clk_* by adding select HAVE_CLK 2012-08-01 17:59:15 +02:00
vr41xx
wrppmc
Kbuild
Kbuild.platforms MIPS: Loongson 1B: Add board support 2012-07-25 16:17:24 +02:00
Kconfig Kconfig: clean up the long arch list for the DEBUG_KMEMLEAK config option 2012-10-09 16:22:14 +09:00
Kconfig.debug
Makefile kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00