#include #include #include #include #include MODULE_LICENSE("Dual BSD/GPL"); /* 200 MB */ #define NUM_PAGES (51200) struct page *pages[NUM_PAGES]; static int nodemem_init(void) { int i; printk("Trying to allocate %d pages from node 7\n", NUM_PAGES); for (i = 0; i < NUM_PAGES; i++) { pages[i] = alloc_pages_node(7, GFP_KERNEL | GFP_THISNODE, 0); if (!pages[i]) { for (i--; i >= 0; i--) __free_pages(pages[i], 0); return -ENOMEM; } printk("Page %d from node %d\n", i, page_to_nid(pages[i])); } return 0; } static void nodemem_exit(void) { int i; for (i = 0; i < NUM_PAGES; i++) __free_pages(pages[i], 0); } module_init(nodemem_init); module_exit(nodemem_exit);