Greetings & Salutations, Here's a wonderful patch that I know you're all dying for... Memory Binding! It works just like CPU Affinity (binding) except that it binds a processes memory allocations (just buddy allocator for now) to specific memory blocks. I've sent this out in the past, but haven't touched it in months. Since the feature freeze is rapidly approaching, I want to get this out there again and see if anyone has any interest in it. It's a fairly large patch, mostly because it includes a few odds and ends that are topology related, and don't strictly belong in this patch, but are pre-requisites for it (ie: the [memblk|node]_online_map stuff, and some of the cleanups to page_alloc). I'll probably try and break it up into more discrete parts very soon. [mcd@arrakis src]$ diffstat ~/patches/api_patches/mem_api/memory_binding_api-v0.3-2.5.41.patch arch/i386/kernel/entry.S | 2 + arch/i386/kernel/numaq.c | 4 ++ arch/i386/kernel/smpboot.c | 4 ++ include/asm-i386/smp.h | 16 ++++++++ include/asm-i386/unistd.h | 2 + include/linux/init_task.h | 4 ++ include/linux/membind.h | 50 +++++++++++++++++++++++++ include/linux/mmzone.h | 23 +++++++++++ include/linux/sched.h | 4 ++ include/linux/smp.h | 8 +++- kernel/sys.c | 90 +++++++++++++++++++++++++++++++++++++++++++++ mm/numa.c | 8 ++++ mm/page_alloc.c | 67 ++++++++++++--------------------- 13 files changed, 237 insertions(+), 45 deletions(-) Questions, comments, flames, and indifferent shrugs are all welcome. btw, It applies (mostly) cleanly to mm1 as well. The mm/page_alloc.c changes fail, but if anyone is interested, they'll clean up easily, and I'll send you a patch. Cheers! -Matt