David Gibson
42b88befd6
[PATCH] hugepage: is_aligned_hugepage_range() cleanup
...
Quite a long time back, prepare_hugepage_range() replaced
is_aligned_hugepage_range() as the callback from mm/mmap.c to arch code to
verify if an address range is suitable for a hugepage mapping.
is_aligned_hugepage_range() stuck around, but only to implement
prepare_hugepage_range() on archs which didn't implement their own.
Most archs (everything except ia64 and powerpc) used the same
implementation of is_aligned_hugepage_range(). On powerpc, which
implements its own prepare_hugepage_range(), the custom version was never
used.
In addition, "is_aligned_hugepage_range()" was a bad name, because it
suggests it returns true iff the given range is a good hugepage range,
whereas in fact it returns 0-or-error (so the sense is reversed).
This patch cleans up by abolishing is_aligned_hugepage_range(). Instead
prepare_hugepage_range() is defined directly. Most archs use the default
version, which simply checks the given region is aligned to the size of a
hugepage. ia64 and powerpc define custom versions. The ia64 one simply
checks that the range is in the correct address space region in addition to
being suitably aligned. The powerpc version (just as previously) checks
for suitable addresses, and if necessary performs low-level MMU frobbing to
set up new areas for use by hugepages.
No libhugetlbfs testsuite regressions on ppc64 (POWER5 LPAR).
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22 07:54:04 -08:00
..
sn
Pull sn2-reduce-kmalloc-wrap into release branch
2006-03-21 08:22:56 -08:00
a.out.h
acpi-ext.h
[ACPI] fix IA64 build warning
2005-08-04 22:29:34 -04:00
acpi.h
[IA64] Count disabled cpus as potential hot-pluggable CPUs
2006-02-14 15:37:58 -08:00
agp.h
asmmacro.h
atomic.h
[PATCH] mutex subsystem, add atomic_xchg() to all arches
2006-01-09 15:59:17 -08:00
auxvec.h
[PATCH] auxiliary vector cleanups
2005-09-07 16:57:21 -07:00
bitops.h
[FLS64]: generic version
2006-01-03 13:11:06 -08:00
break.h
[PATCH] Kprobes/IA64: kdebug die notification mechanism
2005-06-23 09:45:22 -07:00
bug.h
[PATCH] remove gcc-2 checks
2006-01-08 20:14:02 -08:00
bugs.h
byteorder.h
cache.h
[PATCH] Kill L1_CACHE_SHIFT_MAX
2006-01-08 20:13:39 -08:00
cacheflush.h
checksum.h
compat.h
[PATCH] ia64: task_pt_regs()
2006-01-12 09:08:58 -08:00
cpu.h
cputime.h
current.h
cyclone.h
delay.h
[IA64] disable preemption in udelay()
2005-12-16 10:00:24 -08:00
div64.h
dma-mapping.h
[PATCH] ia64: re-implement dma_get_cache_alignment to avoid EXPORT_SYMBOL
2005-11-07 07:53:23 -08:00
dma.h
elf.h
[PATCH] auxiliary vector cleanups
2005-09-07 16:57:21 -07:00
emergency-restart.h
[PATCH] Add emergency_restart()
2005-07-26 14:35:41 -07:00
errno.h
fcntl.h
[PATCH] Clean up struct flock definitions
2005-09-07 16:57:38 -07:00
fpswa.h
fpu.h
futex.h
[PATCH] consolidate asm/futex.h
2006-01-08 20:13:39 -08:00
gcc_intrin.h
hardirq.h
hw_irq.h
[PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity
2005-09-07 16:57:15 -07:00
ia32.h
[IA64] Change SET_PERSONALITY to comply with comment in binfmt_elf.c.
2005-12-06 09:12:34 -08:00
ia64regs.h
ide.h
[PATCH] ia64: drop arch-specific IDE MAX_HWIFS definition
2006-02-03 08:32:11 -08:00
intel_intrin.h
[IA64] use icc defined constant
2006-02-07 08:49:27 -08:00
intrinsics.h
io.h
[PATCH] /dev/mem: validate mmap requests
2006-01-08 20:14:02 -08:00
ioctl.h
[PATCH] Generic ioctl.h
2006-01-10 08:01:34 -08:00
ioctls.h
iosapic.h
[IA64] Minor cleanups - remove unnecessary function prototype in iosapic.h
2005-09-07 14:00:40 -07:00
ipcbuf.h
irq.h
[IA64] Manual merge fix for 3 files
2005-09-08 14:27:13 -07:00
kdebug.h
[IA64] Extend notify_die() hooks for IA64
2005-11-07 11:27:13 -08:00
kmap_types.h
kprobes.h
[IA64] prevent accidental modification of args in jprobe handler
2006-01-13 14:45:21 -08:00
kregs.h
linkage.h
local.h
[IA64] Fix missing parameter for local_add/sub
2005-12-07 11:30:11 -08:00
machvec.h
[IA64] hooks to wait for mmio writes to drain when migrating processes
2006-01-26 15:55:52 -08:00
machvec_dig.h
machvec_hpsim.h
machvec_hpzx1.h
[IA64] more robust zx1/sx1000 machvec support
2005-09-14 16:22:11 -07:00
machvec_hpzx1_swiotlb.h
[IA64] more robust zx1/sx1000 machvec support
2005-09-14 16:22:11 -07:00
machvec_init.h
machvec_sn2.h
Pull sn2-mmio-writes into release branch
2006-03-21 08:21:26 -08:00
mc146818rtc.h
mca.h
[IA64] support for cpu0 removal
2006-01-05 10:24:20 -08:00
mca_asm.h
[PATCH] MCA/INIT: use per cpu stacks
2005-09-11 14:08:41 -07:00
meminit.h
Pull sparsemem-v5 into release branch
2005-10-28 14:32:56 -07:00
mman.h
[PATCH] add asm-generic/mman.h
2006-02-15 15:32:22 -08:00
mmu.h
[IA64] Fix race in mm-context wrap-around logic.
2005-08-12 15:05:21 -07:00
mmu_context.h
[IA64] make mmu_context.h and tlb.c 80-column friendly
2005-11-03 14:43:50 -08:00
mmzone.h
[PATCH] V5 ia64 SPARSEMEM - conditional changes for SPARSEMEM
2005-10-04 13:21:13 -07:00
module.h
msgbuf.h
msi.h
[PATCH] PCI: Change MSI to use physical delivery mode always
2005-11-10 16:09:18 -08:00
mutex.h
[IA64] implement ia64 specific mutex primitives
2006-01-26 13:10:19 -08:00
namei.h
nodedata.h
[PATCH] V5 ia64 SPARSEMEM - conditional changes for SPARSEMEM
2005-10-04 13:21:13 -07:00
numa.h
numnodes.h
page.h
[PATCH] hugepage: is_aligned_hugepage_range() cleanup
2006-03-22 07:54:04 -08:00
pal.h
[IA64] pal cache flush patch
2006-01-16 15:44:53 -08:00
param.h
[PATCH] ia64: Selectable Timer Interrupt Frequency
2005-06-23 09:45:10 -07:00
parport.h
patch.h
pci.h
[PATCH] Make sparc64 use setup-res.c
2005-09-08 14:57:25 -07:00
percpu.h
[PATCH] adjust per_cpu definition in non-SMP case
2005-06-23 09:45:28 -07:00
perfmon.h
perfmon_default_smpl.h
pgalloc.h
[IA64] 4-level page tables
2005-11-11 09:37:29 -08:00
pgtable.h
[PATCH] hugepage: Move hugetlb_free_pgd_range() prototype to hugetlb.h
2006-03-22 07:54:04 -08:00
poll.h
posix_types.h
processor.h
Pull sn2-mmio-writes into release branch
2006-03-21 08:21:26 -08:00
ptrace.h
[PATCH] ia64: task_pt_regs()
2006-01-12 09:08:58 -08:00
ptrace_offsets.h
resource.h
rse.h
rwsem.h
[PATCH] add sem_is_read/write_locked()
2005-10-29 21:40:35 -07:00
sal.h
[IA64] avoid broken SAL_CACHE_FLUSH implementations
2006-02-02 13:25:54 -08:00
scatterlist.h
sections.h
[PATCH] kprobes/ia64: refuse kprobe on ivt code
2005-06-27 15:23:54 -07:00
segment.h
semaphore.h
[IA64] Fix bug in ia64 specific down() function
2006-01-17 14:04:00 -08:00
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
[IA64] Delete MCA/INIT sigdelayed code
2006-01-26 13:23:27 -08:00
smp.h
[PATCH] smp_processor_id() cleanup
2005-06-21 18:46:13 -07:00
socket.h
[NET]: Introduce SO_{SND,RCV}BUFFORCE socket options
2005-08-29 15:31:35 -07:00
sockios.h
sparsemem.h
[PATCH] V5 ia64 SPARSEMEM - conditional changes for SPARSEMEM
2005-10-04 13:21:13 -07:00
spinlock.h
[PATCH] remove gcc-2 checks
2006-01-08 20:14:02 -08:00
spinlock_types.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
stat.h
statfs.h
string.h
suspend.h
system.h
Pull sn2-mmio-writes into release branch
2006-03-21 08:21:26 -08:00
termbits.h
termios.h
thread_info.h
Pull sn2-mmio-writes into release branch
2006-03-21 08:21:26 -08:00
timex.h
[IA64] ia64: simplify and fix udelay()
2006-02-15 13:37:04 -08:00
tlb.h
[PATCH] mm: tlb_finish_mmu forget rss
2005-10-29 21:40:37 -07:00
tlbflush.h
[IA64] Use bitmaps for efficient context allocation/free
2005-10-31 14:36:05 -08:00
topology.h
[PATCH] Export cpu topology in sysfs
2006-02-03 08:32:09 -08:00
types.h
[PATCH] sab: consolidate kmem_bufctl_t
2005-09-05 00:05:48 -07:00
uaccess.h
[PATCH] ia64 basic __user annotations
2005-09-29 08:46:27 -07:00
ucontext.h
unaligned.h
uncached.h
[PATCH] ia64 uncached alloc
2005-06-21 18:46:18 -07:00
unistd.h
[IA64] unshare system call registration for ia64
2006-02-08 15:43:38 -08:00
unwind.h
[IA64] MCA/INIT: remove obsolete unwind code
2005-09-11 14:09:34 -07:00
user.h
ustack.h
vga.h
[IA64-SGI] pcdp: add PCDP pci interface support
2005-06-28 09:09:06 -07:00
xor.h