On Fri, Feb 23, 2007 at 04:19:37PM -0500, Dave Anderson wrote:
Josef Whiter wrote:
> On Fri, Feb 23, 2007 at 04:00:09PM -0500, Dave Anderson wrote:
> > if you do this with your kernel:
> >
> > # gdb vmlinux
> > ...
> > (gdb) ptype struct zone
> >
> > What do you see?
> >
>
> (gdb) ptype struct zone
> type = struct zone {
> long unsigned int pages_min;
> long unsigned int pages_low;
> long unsigned int pages_high;
> long unsigned int lowmem_reserve[3];
> struct per_cpu_pageset pageset[32];
> spinlock_t lock;
> struct free_area free_area[11];
> struct zone_padding _pad1_;
> spinlock_t lru_lock;
> struct list_head active_list;
> struct list_head inactive_list;
> long unsigned int nr_scan_active;
> long unsigned int nr_scan_inactive;
> long unsigned int pages_scanned;
> int all_unreclaimable;
> atomic_t reclaim_in_progress;
> atomic_long_t vm_stat[14];
> int prev_priority;
> struct zone_padding _pad2_;
> wait_queue_head_t *wait_table;
> long unsigned int wait_table_hash_nr_entries;
> long unsigned int wait_table_bits;
> struct pglist_data *zone_pgdat;
> long unsigned int zone_start_pfn;
> long unsigned int spanned_pages;
> long unsigned int present_pages;
> const char *name;
> }
>
> It looks like free_pages has been removed altogether.
That appears to be a very recent change -- 2.6.20.1 still has it:
struct zone {
/* Fields commonly accessed by the page allocator */
unsigned long free_pages;
unsigned long pages_min, pages_low, pages_high;
...
What version are you using? Are you running 2.6.21-rc1?
No, I pulled linus's git tree down maybe a week ago, so its close to -rc1.
Josef