From dc8c5eb262005ea0461c9ce4c079077fa39a02b6 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Thu, 19 Aug 2004 18:50:23 +0000 Subject: bitkeeper revision 1.1159.42.8 (4124f66fUINxrel-POThC1of633DIA) Clean up network-backend driver changes to common files. There is now a 'foreign page' hook into the page allocator, and a CONFIG_ option for forcing page-sized rx skbs. --- linux-2.4.26-xen-sparse/mm/page_alloc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'linux-2.4.26-xen-sparse/mm/page_alloc.c') diff --git a/linux-2.4.26-xen-sparse/mm/page_alloc.c b/linux-2.4.26-xen-sparse/mm/page_alloc.c index 62ed7751a5..fda37e1929 100644 --- a/linux-2.4.26-xen-sparse/mm/page_alloc.c +++ b/linux-2.4.26-xen-sparse/mm/page_alloc.c @@ -89,6 +89,9 @@ static void __free_pages_ok (struct page *page, unsigned int order) struct page *base; zone_t *zone; + if (PageForeign(page)) + return (PageForeignDestructor(page))(page); + /* * Yes, think what happens when other parts of the kernel take * a reference to a page in order to pin it for io. -ben @@ -102,7 +105,7 @@ static void __free_pages_ok (struct page *page, unsigned int order) if (page->buffers) BUG(); if (page->mapping) - return (*(void(*)(struct page *))page->mapping)(page); + BUG(); if (!VALID_PAGE(page)) BUG(); if (PageLocked(page)) -- cgit v1.2.3