Re: mm snapshot broken-out-2007-01-26-00-36.tar.gz uploaded

Christoph Lameter
2007-01-26T18:39:15Z

On Fri, 26 Jan 2007, Michal Piotrowski wrote:

> mm/page_alloc.c: In function 'nr_free_inactive_pages_node':
> mm/page_alloc.c:1588: error: 'struct zone' has no member named 'nr_inactive'
> mm/page_alloc.c:1589: error: 'struct zone' has no member named 'free_pages'
> make[1]: *** [mm/page_alloc.o] Error 1
> make: *** [mm] Error 2

I cannot get it to compile either:

christoph@schroedinger:~/software/linux/xx/linux-2.6.20-rc6$ make
mm/page_alloc.o
scripts/kconfig/conf -s arch/i386/Kconfig
Warning! Found recursive dependency: INET GFS2_FS_LOCKING_DLM SYSFS
OCFS2_FS INET
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CC arch/i386/kernel/asm-offsets.s
In file included from include/linux/sched.h:87,
from include/linux/utsname.h:35,
from include/asm/elf.h:12,
from include/linux/elf.h:7,
from include/linux/module.h:15,
from include/linux/crypto.h:21,
from arch/i386/kernel/asm-offsets.c:7:
include/linux/nsproxy.h: In function 'preexit_task_namespaces':
include/linux/nsproxy.h:56: error: dereferencing pointer to incomplete
type
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

but I would think that this would fix the compile errors that are my
responsibility (sort of .... patch was against rc6 and not against mm).
More when I track down the above issue:

mm-fixes to ZVC patches

Fix uses of free_pages

Signed-off-by: Christoph Lameter <clameter@sgi.com>

Index: linux-2.6.20-rc6/kernel/power/swsusp.c
===================================================================
--- linux-2.6.20-rc6.orig/kernel/power/swsusp.c 2007-01-26 10:32:05.000000000 -0800
+++ linux-2.6.20-rc6/kernel/power/swsusp.c 2007-01-26 10:32:24.000000000 -0800
@@ -230,7 +230,8 @@ int swsusp_shrink_memory(void)
for_each_zone (zone)
if (populated_zone(zone)) {
if (is_highmem(zone)) {
- highmem_size -= zone->free_pages;
+ highmem_size -=
+ zone_page_state(zone, NR_FREE_PAGES);
} else {
tmp -= zone->free_pages;
tmp += zone->lowmem_reserve[ZONE_NORMAL];
Index: linux-2.6.20-rc6/mm/page_alloc.c
===================================================================
--- linux-2.6.20-rc6.orig/mm/page_alloc.c 2007-01-26 10:32:19.000000000 -0800
+++ linux-2.6.20-rc6/mm/page_alloc.c 2007-01-26 10:32:27.000000000 -0800
@@ -1581,12 +1581,12 @@ unsigned int nr_free_pagecache_pages(voi
unsigned long nr_free_inactive_pages_node(int nid)
{
enum zone_type i;
- unsigned long sum = 0;
+ unsigned long sum = node_page_state(nid, NR_FREE_PAGES)
+ + node_page_state(nid, NR_INACTIVE);
struct zone *zones = NODE_DATA(nid)->node_zones;

for (i = 0; i < MAX_NR_ZONES; i++)
- sum += zones[i].nr_inactive +
- zones[i].free_pages - zones[i].pages_low;
+ sum -= zones[i].pages_low;

return sum;
}