Re: [PATCH] Prezeroing V8

From: Andrew Morton
Date: Thu Mar 17 2005 - 18:54:23 EST


Christoph Lameter <clameter@xxxxxxx> wrote:
>
> > And given that we have separate buddy structures for zeroed and not-zeroed
> > pages, why is this tagging needed at all?
>
> Because the buddy pointers may point to a page of the different kind. Then
> a merge is not possible.

In that case I still don't understand, sorry.

If each zone has two buddy lists, one for zeroed and one for not-zeroed,
how can we ever get known-to-be-zeroed pages on the not-known-to-be-zeroed
list or vice versa?

> > These are all design decisions which have been made, but they're not
> > communicated either in the patch description or in code comments. It's to
> > everyone's advantage to fix that, no?
>
> Of course. Try to do this ASAP. Testing a patch that defines the
> following:
>
> Index: linux-2.6.11/include/linux/gfp.h
> ===================================================================
> --- linux-2.6.11.orig/include/linux/gfp.h 2005-03-01
> 23:37:50.000000000 -0800
> +++ linux-2.6.11/include/linux/gfp.h 2005-03-17 14:59:06.000000000
> -0800
> @@ -125,6 +125,8 @@ extern void FASTCALL(__free_pages(struct
> extern void FASTCALL(free_pages(unsigned long addr, unsigned int order));
> extern void FASTCALL(free_hot_page(struct page *page));
> extern void FASTCALL(free_cold_page(struct page *page));
> +extern void FASTCALL(free_hot_zeroed_page(struct page *page));
> +extern void FASTCALL(free_cold_zeroed_page(struct page *page));
>
> #define __free_page(page) __free_pages((page), 0)
> #define free_page(addr) free_pages((addr),0)
>
> This is what you want right?

Well, it was more a question that a request. If we do this, does it speed
anything up?

-
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/