The patch titled x86_64 fake numa: provide an io hole size in a given address range has been added to the -mm tree. Its filename is x86_64-fake-numa-provides-a-io-hole-size-in-a-given-address-range.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: x86_64 fake numa: provide an io hole size in a given address range From: Rohit Seth <rohitseth@xxxxxxxxxx> This patch provides a IO hole size in a given address range. Signed-off-by: David Rientjes <reintjes@xxxxxxxxxx> Signed-off-by: Paul Menage <menage@xxxxxxxxxx> Signed-off-by: Rohit Seth <rohitseth@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/x86_64/kernel/e820.c | 32 ++++++++++++++++++++++++++++++++ include/asm-x86_64/e820.h | 1 + 2 files changed, 33 insertions(+) diff -puN arch/x86_64/kernel/e820.c~x86_64-fake-numa-provides-a-io-hole-size-in-a-given-address-range arch/x86_64/kernel/e820.c --- a/arch/x86_64/kernel/e820.c~x86_64-fake-numa-provides-a-io-hole-size-in-a-given-address-range +++ a/arch/x86_64/kernel/e820.c @@ -184,6 +184,38 @@ unsigned long __init e820_end_of_ram(voi } /* + * Find the hole size in the range. + */ +unsigned long __init e820_hole_size(unsigned long start, unsigned long end) +{ + unsigned long ram = 0; + int i; + + for (i = 0; i < e820.nr_map; i++) { + struct e820entry *ei = &e820.map[i]; + unsigned long last, addr; + + if (ei->type != E820_RAM || + ei->addr+ei->size <= start || + ei->addr >= end) + continue; + + addr = round_up(ei->addr, PAGE_SIZE); + if (addr < start) + addr = start; + + last = round_down(ei->addr + ei->size, PAGE_SIZE); + if (last >= end) + last = end; + + if (last > addr) + ram += last - addr; + } + return ((end - start) - ram); +} + + +/* * Mark e820 reserved areas as busy for the resource manager. */ void __init e820_reserve_resources(void) diff -puN include/asm-x86_64/e820.h~x86_64-fake-numa-provides-a-io-hole-size-in-a-given-address-range include/asm-x86_64/e820.h --- a/include/asm-x86_64/e820.h~x86_64-fake-numa-provides-a-io-hole-size-in-a-given-address-range +++ a/include/asm-x86_64/e820.h @@ -46,6 +46,7 @@ extern void e820_mark_nosave_regions(voi extern void e820_print_map(char *who); extern int e820_any_mapped(unsigned long start, unsigned long end, unsigned type); extern int e820_all_mapped(unsigned long start, unsigned long end, unsigned type); +extern unsigned long e820_hole_size(unsigned long start, unsigned long end); extern void e820_setup_gap(void); extern void e820_register_active_regions(int nid, _ Patches currently in -mm which might be from rohitseth@xxxxxxxxxx are x86_64-fake-numa-provides-a-io-hole-size-in-a-given-address-range.patch x86_64-fake-numa-increase-the-node_shift.patch x86_64-fake-numa-fix-numa=fake.patch x86_64-fake-numa-extends-the-kernel-command-line-option-for-numa=fake.patch memory-page_alloc-zonelist-caching-speedup.patch memory-page_alloc-zonelist-caching-reorder-structure.patch updated-i386-cleanup-apic-code.patch updated-i386-rework-local-apic-calibration.patch updated-dynticks-fix-nmi-watchdog.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html