linux/arch/m32r/include/asm
KAMEZAWA Hiroyuki c6830c2260 Fix node_start/end_pfn() definition for mm/page_cgroup.c
commit 21a3c96 uses node_start/end_pfn(nid) for detection start/end
of nodes. But, it's not defined in linux/mmzone.h but defined in
/arch/???/include/mmzone.h which is included only under
CONFIG_NEED_MULTIPLE_NODES=y.

Then, we see
  mm/page_cgroup.c: In function 'page_cgroup_init':
  mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
  mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'

So, fixiing page_cgroup.c is an idea...

But node_start_pfn()/node_end_pfn() is a very generic macro and
should be implemented in the same manner for all archs.
(m32r has different implementation...)

This patch removes definitions of node_start/end_pfn() in each archs
and defines a unified one in linux/mmzone.h. It's not under
CONFIG_NEED_MULTIPLE_NODES, now.

A result of macro expansion is here (mm/page_cgroup.c)

for !NUMA
 start_pfn = ((&contig_page_data)->node_start_pfn);
  end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});

for NUMA (x86-64)
  start_pfn = ((node_data[nid])->node_start_pfn);
  end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});

Changelog:
 - fixed to avoid using "nid" twice in node_end_pfn() macro.

Reported-and-acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Reported-and-tested-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-06-27 14:13:09 -07:00
..
m32104ut Fix common misspellings 2011-03-31 11:26:23 -03:00
m32700ut Fix common misspellings 2011-03-31 11:26:23 -03:00
mappi2 m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mappi3 m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
opsput Fix common misspellings 2011-03-31 11:26:23 -03:00
addrspace.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
assembler.h m32r: use __stringify() macro in assembler.h 2009-05-02 22:38:21 +09:00
atomic.h atomic_t: Cast to volatile when accessing atomic variables 2010-05-17 07:57:27 -07:00
auxvec.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
bitops.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
bugs.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
byteorder.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cache.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cachectl.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
checksum.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
cputime.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
current.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
delay.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
device.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
div64.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
dma.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
elf.h m32r: test __LITTLE_ENDIAN__ instead of __LITTLE_ENDIAN 2010-10-15 19:37:50 -07:00
emergency-restart.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
errno.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
fb.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
fcntl.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
flat.h flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
ftrace.h m32r: move include/asm-m32r/* to arch/m32r/include/asm/ 2009-04-17 10:50:23 +09:00
futex.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
hardirq.h m32r: convert to asm-generic/hardirq.h 2009-09-22 07:17:43 -07:00
hw_irq.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
io.h m32r: define ioread* and iowrite* macros 2009-10-04 12:02:36 +09:00
ioctl.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
ioctls.h ioctl: Use asm-generic/ioctls.h on m32r (enables termiox) 2010-10-22 10:20:00 -07:00
ipcbuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
irq_regs.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
irq.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
kdebug.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
linkage.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h local_t: Remove cpu_local_xx macros 2010-01-05 15:34:49 +09:00
m32r_mp_fpga.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
m32r.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
m32102.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mc146818rtc.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mman.h mm: remove duplicate asm/mman.h files 2009-09-22 07:17:42 -07:00
mmu_context.h cpumask: use mm_cpumask() wrapper: m32r 2009-09-24 09:34:50 +09:30
mmu.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
msgbuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
mutex.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
page.h m32r: make PAGE_SIZE available to assembly. 2009-09-23 00:29:38 +09:00
param.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
pci.h asm-generic: make pci.h usable directly 2009-06-11 21:02:22 +02:00
percpu.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable-2level.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pgtable.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
poll.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
posix_types.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
processor.h m32r: Define THREAD_SIZE only once. 2009-09-23 00:29:38 +09:00
ptrace.h m32r: use generic ptrace_resume code 2010-03-12 15:52:39 -08:00
resource.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
rtc.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
s1d13806.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
sections.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
segment.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
sembuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
serial.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
setup.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
shmbuf.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
shmparam.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
sigcontext.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
siginfo.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
signal.h m32r: fix rt_sigsuspend() 2010-09-24 13:54:19 -07:00
smp.h m32r: convert cpumask api 2011-05-26 17:12:32 -07:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
stat.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
statfs.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
string.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
swab.h m32r: move include/asm-m32r/* to arch/m32r/include/asm/ 2009-04-17 10:50:23 +09:00
syscall.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
system.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
thread_info.h mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
timex.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
tlb.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
tlbflush.h MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
topology.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
types.h remove dma64_addr_t 2011-03-23 19:47:18 -07:00
uaccess.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
ucontext.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
unaligned.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
unistd.h ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
user.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
vga.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00
xor.h m32r: move include/asm-m32r headers to arch/m32r/include/asm 2009-04-17 10:05:01 +09:00