kernel-ark/arch/tile/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
..
asm-offsets.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
atomic_32.h arch/tile: use better definitions of xchg() and cmpxchg() 2011-05-19 22:55:49 -04:00
atomic_64.h arch/tile: use better definitions of xchg() and cmpxchg() 2011-05-19 22:55:49 -04:00
atomic.h arch/tile: use better definitions of xchg() and cmpxchg() 2011-05-19 22:55:49 -04:00
auxvec.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
backtrace.h arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
bitops_32.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
bitops_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
bitops.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
bitsperlong.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
bug.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
bugs.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
byteorder.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
cache.h arch/tile: catch up with section naming convention in 2.6.35 2011-03-01 16:18:52 -05:00
cacheflush.h arch/tile: clarify flush_buffer()/finv_buffer() function names 2011-05-04 14:41:20 -04:00
checksum.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
compat.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
cputime.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
current.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
delay.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
device.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
div64.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
dma-mapping.h tile,mn10300: add device parameter to dma_cache_sync() 2011-05-04 14:41:36 -04:00
dma.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
edac.h drivers/edac: provide support for tile architecture 2011-03-10 13:30:14 -05:00
elf.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
emergency-restart.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
errno.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
fb.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
fcntl.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
fixmap.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
ftrace.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
hardirq.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hardwall.h arch/tile: more /proc and /sys file support 2011-05-27 10:39:05 -04:00
highmem.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
homecache.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hugetlb.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
hv_driver.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hw_irq.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
ide.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
io.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
ioctl.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
ioctls.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
ipc.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
ipcbuf.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
irq_regs.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
irq.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
irqflags.h arch/tile: support newer binutils assembler shift semantics 2011-03-17 14:32:06 -04:00
Kbuild arch/tile: export <asm/hardwall.h> to userspace 2011-03-01 16:20:23 -05:00
kdebug.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
kexec.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
kmap_types.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
linkage.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
local.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
memprof.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
mman.h arch/tile: provide a definition of MAP_STACK 2010-10-14 15:09:02 -04:00
mmu_context.h tile: replace mm->cpu_vm_mask with mm_cpumask() 2011-05-04 14:41:44 -04:00
mmu.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
msgbuf.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
mutex.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
opcode_constants_32.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
opcode_constants_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
opcode_constants.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
opcode-tile_32.h arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
opcode-tile_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
opcode-tile.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
page.h arch/tile: kernel-related cleanups from removing static page size 2011-05-04 14:41:13 -04:00
param.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
parport.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
pci.h arch/tile: improve support for PCI hotplug 2011-05-04 14:39:53 -04:00
percpu.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
pgalloc.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
pgtable_32.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
pgtable_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
pgtable.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
poll.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
posix_types.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
processor.h arch/tile: support signal "exception-trace" hook 2011-05-19 22:55:59 -04:00
ptrace.h arch/tile: bug fix: exec'ed task thought it was still single-stepping 2011-03-01 16:19:58 -05:00
resource.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
scatterlist.h tile: remove unused ISA_DMA_THRESHOLD define 2010-08-11 10:38:06 -04:00
sections.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
sembuf.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
serial.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
setup.h arch/tile: export only COMMAND_LINE_SIZE to userspace. 2010-08-15 12:14:41 -04:00
shmbuf.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
shmparam.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
sigcontext.h arch/tile: Change struct sigcontext to be more useful 2010-09-15 11:16:08 -04:00
sigframe.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
siginfo.h arch/tile: Fix a couple of issues with the COMPAT code for TILE-Gx. 2010-08-13 08:32:21 -04:00
signal.h arch/tile: support signal "exception-trace" hook 2011-05-19 22:55:59 -04:00
smp.h arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
socket.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
sockios.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
spinlock_32.h arch/tile: fix deadlock bugs in rwlock implementation 2011-03-10 16:10:41 -05:00
spinlock_64.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
spinlock_types.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
spinlock.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
stack.h arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
stat.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
statfs.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
string.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
swab.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
syscall.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
syscalls.h arch/tile: Use <asm-generic/syscalls.h> 2010-10-14 14:34:33 -04:00
system.h arch/tile: use extended assembly to inline __mb_incoherent() 2011-03-01 16:20:54 -05:00
termbits.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
termios.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
thread_info.h arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
timex.h arch/tile: fix __ndelay etc to work better 2011-03-01 16:20:04 -05:00
tlb.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
tlbflush.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
topology.h arch/tile: disable SD_WAKE_AFFINE flag on CPU/NODE scheduling domain 2011-05-04 14:40:16 -04:00
traps.h arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
types.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
uaccess.h arch/tile: Various cleanups. 2010-08-13 08:52:19 -04:00
ucontext.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
unaligned.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
unistd.h arch/tile: cleanups for tilegx compat mode 2011-05-19 22:56:13 -04:00
user.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
vga.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
xor.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00