kernel-hacking-2024-linux-s.../arch/sparc/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
..
agp.h
apb.h
apc.h
asi.h
asm-offsets.h
asm.h
asmmacro.h
atomic.h
atomic_32.h atomic_t: Cast to volatile when accessing atomic variables 2010-05-17 07:57:27 -07:00
atomic_64.h sparc64: Really fix atomic64_t interface types. 2010-08-17 21:44:13 -07:00
auxio.h
auxio_32.h
auxio_64.h
auxvec.h
backoff.h sparc64: Make lock backoff really a NOP on UP builds. 2010-08-18 22:53:26 -07:00
bbc.h
bitext.h
bitops.h
bitops_32.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitops_64.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitsperlong.h
btext.h
btfixup.h
bug.h
bugs.h
byteorder.h
cache.h sparc: remove homegrown L1_CACHE_ALIGN macro 2010-06-29 00:38:02 -07:00
cacheflush.h
cacheflush_32.h
cacheflush_64.h
chafsr.h
checksum.h
checksum_32.h
checksum_64.h
chmctrl.h
clock.h
cmt.h
compat.h compat: Make compat_alloc_user_space() incorporate the access_ok() 2010-09-14 16:08:45 -07:00
compat_signal.h
contregs.h
cpudata.h
cpudata_32.h sparc32: implement SMP IPIs using the generic functions 2011-05-16 13:07:43 -07:00
cpudata_64.h sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. 2010-04-12 22:37:07 -07:00
cputime.h
current.h
cypress.h
dcr.h
dcu.h
delay.h
delay_32.h
delay_64.h
device.h of: remove asm/of_device.h 2010-07-24 09:57:52 -06:00
display7seg.h
div64.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h
ebus_dma.h
ecc.h
eeprom.h
elf.h
elf_32.h
elf_64.h sparc: TIF_ABI_PENDING bit removal 2010-01-29 08:22:01 -08:00
emergency-restart.h
envctrl.h
errno.h mm: make __get_user_pages return -EHWPOISON for HWPOISON page optionally 2011-03-17 13:08:27 -03:00
estate.h
fb.h sparc: Really fix "console=" for serial consoles. 2010-08-16 12:26:09 -07:00
fbio.h tree-wide: s/widht/width/g typo in comments 2010-02-05 12:22:42 +01:00
fcntl.h vfs: add nonconflicting values for O_PATH 2011-03-16 09:54:02 -04:00
fhc.h
fixmap.h
floppy.h
floppy_32.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
floppy_64.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
fpumacro.h
ftrace.h
futex.h
futex_32.h
futex_64.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gpio.h
hardirq.h
hardirq_32.h
hardirq_64.h
head.h
head_32.h
head_64.h
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hugetlb.h
hvtramp.h
hw_irq.h
hypervisor.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ide.h
idprom.h
intr_queue.h
io-unit.h
io.h sparc: add {read,write}*_be routines 2011-05-12 13:44:29 -07:00
io_32.h fbmem: fix fb_read, fb_write unaligned accesses 2010-10-27 18:03:08 -07:00
io_64.h fbmem: fix fb_read, fb_write unaligned accesses 2010-10-27 18:03:08 -07:00
ioctl.h
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
iommu.h
iommu_32.h
iommu_64.h
ipcbuf.h
irq.h
irq_32.h sparc32: genirq support 2011-04-19 22:11:40 -07:00
irq_64.h sparc: Provide NO_IRQ definition. 2011-03-18 15:03:16 -07:00
irq_regs.h
irqflags.h
irqflags_32.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
irqflags_64.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
jsflash.h
jump_label.h jump label: Introduce static_branch() interface 2011-04-04 12:48:08 -04:00
Kbuild sparc: stop exporting openprom.h header 2010-10-08 13:04:00 -06:00
kdebug.h
kdebug_32.h
kdebug_64.h
kgdb.h
kmap_types.h
kprobes.h
ldc.h
leon.h sparc32,leon: add GRPCI2 PCI Host driver 2011-06-02 14:32:38 -07:00
leon_amba.h SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
leon_pci.h sparc32,leon: added LEON-common low-level PCI routines 2011-06-02 14:32:37 -07:00
linkage.h
local.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
lsu.h
machines.h
mbus.h
mc146818rtc.h
mc146818rtc_32.h
mc146818rtc_64.h
mdesc.h
memblock.h memblock: Introduce default allocation limit and use it to replace explicit ones 2010-08-05 12:56:07 +10:00
memctrl.h
memreg.h
mman.h
mmu.h
mmu_32.h sparc32: add irq + smp declarations to headers 2011-03-16 18:19:08 -07:00
mmu_64.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h
mpmbox.h
msgbuf.h
msi.h
mutex.h
mxcc.h
nmi.h
ns87303.h Fix common misspellings 2011-03-31 11:26:23 -03:00
obio.h
openprom.h sparc: Pass buffer pointer all the way down to prom_{get,put}char(). 2010-11-30 14:33:29 -08:00
openpromio.h
oplib.h
oplib_32.h sparc: fix sparse warnings in arch/sparc/prom for 32 bit build 2011-01-03 12:15:12 -08:00
oplib_64.h sparc: Eliminate prom_stdin. 2010-12-12 14:57:53 -08:00
page.h
page_32.h sparc32: Fix page_to_phys(). 2010-01-14 03:14:53 -08:00
page_64.h
param.h sparc: Simplify param.h by simply including <asm-generic/param.h> 2010-01-12 02:46:16 -08:00
parport.h dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pbm.h
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
pci_32.h sparc32,leon: added LEON-common low-level PCI routines 2011-06-02 14:32:37 -07:00
pci_64.h sparc: remove dma64_addr_t usage 2010-10-27 18:03:17 -07:00
pcic.h sparc32: added CONFIG_PCIC_PCI Kconfig setting 2011-06-02 14:32:37 -07:00
pcr.h Fix common misspellings 2011-03-31 11:26:23 -03:00
percpu.h
percpu_32.h
percpu_64.h
perf_event.h perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
perfctr.h sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
pgalloc.h
pgalloc_32.h
pgalloc_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
pgtable.h
pgtable_32.h sparc32: avoid build warning at mm/percpu.c:1647 2011-04-21 15:48:39 -07:00
pgtable_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
pgtsrmmu.h
pgtsun4.h
pgtsun4c.h
pil.h
poll.h
posix_types.h
processor.h
processor_32.h
processor_64.h
prom.h of/promtree: make drivers/of/pdt.c no longer sparc-only 2010-10-10 21:53:30 -06:00
psr.h
psrcompat.h
pstate.h
ptrace.h Fix common misspellings 2011-03-31 11:26:23 -03:00
resource.h
ross.h
rwsem.h rwsem: Move duplicate function prototypes to linux/rwsem.h 2011-01-27 12:30:39 +01:00
sbi.h
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
scratchpad.h
seccomp.h
sections.h
sembuf.h
serial.h
setup.h sparc32: always define boot_cpu_id 2011-04-21 16:44:44 -07:00
sfafsr.h
sfp-machine.h
sfp-machine_32.h
sfp-machine_64.h
shmbuf.h
shmparam.h
shmparam_32.h
shmparam_64.h
sigcontext.h
siginfo.h
signal.h
smp.h
smp_32.h sparc: convert old cpumask API into new one 2011-05-16 13:38:07 -07:00
smp_64.h sparc: consolidate show_cpuinfo in cpu.c 2011-04-21 15:45:45 -07:00
smpprim.h
socket.h
sockios.h
sparsemem.h
spinlock.h
spinlock_32.h sparc32: fix build, fix missing cpu_relax declaration 2011-05-22 21:41:35 -07:00
spinlock_64.h
spinlock_types.h
spitfire.h
stacktrace.h
starfire.h
stat.h sparc: Fix use of uid16_t and gid16_t in asm/stat.h 2010-03-27 08:36:18 -07:00
statfs.h
string.h
string_32.h
string_64.h
sunbpp.h
swab.h
swift.h
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscalls.h
sysen.h
system.h
system_32.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
system_64.h sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
thread_info.h
thread_info_32.h mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
thread_info_64.h mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
timer.h
timer_32.h
timer_64.h
timex.h
timex_32.h sparc: convert to arch_gettimeoffset() 2010-01-15 01:34:28 -08:00
timex_64.h
tlb.h
tlb_32.h
tlb_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
tlbflush.h
tlbflush_32.h
tlbflush_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
topology.h
topology_32.h
topology_64.h sched, sparc64: Turn cpu_coregroup_mask() into a real function 2011-04-12 08:46:41 +02:00
trap_block.h
traps.h
tsb.h
tsunami.h
ttable.h
turbosparc.h
types.h remove dma64_addr_t 2011-03-23 19:47:18 -07:00
uaccess.h
uaccess_32.h sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
uaccess_64.h sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
uctx.h
unaligned.h
unistd.h ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
upa.h
user.h
utrap.h
vac-ops.h
vaddrs.h
vga.h
viking.h
vio.h
visasm.h
watchdog.h
winmacro.h sparc32,leon: added some SMP comments 2011-05-16 13:03:28 -07:00
xor.h
xor_32.h
xor_64.h