Re: [RFC][PATCH] no bitmap buddy allocator: remove free_area->map(0/4)

From: Hiroyuki KAMEZAWA
Date: Wed Sep 08 2004 - 07:26:15 EST


This is a quick change-log from "previous-version" for comparison.

Big difference from previous one is revival of bad_range() and reduced victim pages.

-- bad_range() is modified and bad_range_pfn() is added.
-- bad_range_pfn() uses zone->memmap_start_pfn/memmap_end_pfn instead of using
zone_start_pfn/spanned_pages. Because IA64's memmap's start is not equal to
zone->zone_start_pfn.
-- In most inner loop of __free_pages_bulk(), bad_range_pfn() is used.
-- this bad_range_pfn() enables me to reduce victim pages.

In my IA64,
Sep 8 18:59:38 casares kernel: calculate_buddy_range() 36e 129901
Sep 8 18:59:38 casares kernel: victim end page 1feda
Sep 8 18:59:38 casares kernel: calculate_buddy_range() 1fedc 292
Sep 8 18:59:38 casares kernel: victim top page 1fedc
Sep 8 18:59:38 casares kernel: victim top page 1fee0
Sep 8 18:59:38 casares kernel: victim top page 1ff00
Sep 8 18:59:38 casares kernel: victim end page 1ffff
Sep 8 18:59:38 casares kernel: saved end victim page 1ffff
Sep 8 18:59:38 casares kernel: calculate_buddy_range() 40000 262144
Sep 8 18:59:38 casares kernel: calculate_buddy_range() a0000 131072
Sep 8 18:59:38 casares kernel: victim top page a0000
Sep 8 18:59:38 casares kernel: Built 1 zonelists
# of victim pages is 5. It was 19 in previous version.

-- ia64's virtual_memmap_init() can call memmap_init() several times for the same
memory range. It was fixed.

-- Kame

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/