Re: Prezeroing V3 [1/4]: Allow request for zeroed memory

From: Linus Torvalds
Date: Tue Jan 04 2005 - 19:44:39 EST




On Tue, 4 Jan 2005, Christoph Lameter wrote:
>
> This patch introduces __GFP_ZERO as an additional gfp_mask element to allow
> to request zeroed pages from the page allocator.

Ok, let's start merging this slowly, and in particular, this 1/4 one looks
pretty much like a cleanup regardless of whatever else happen, so let's
just do it. However, for it to really be a cleanup, how about making
_this_ part:

> +
> + if (gfp_flags & __GFP_ZERO) {
> +#ifdef CONFIG_HIGHMEM
> + if (PageHighMem(page)) {
> + int n = 1 << order;
> +
> + while (n-- >0)
> + clear_highpage(page + n);
> + } else
> +#endif
> + clear_page(page_address(page), order);
> + }

Match the existing previous part:

> if (order && (gfp_flags & __GFP_COMP))
> prep_compound_page(page, order);


and just split it up into a "prep_zero_page(page, order)"? I dislike
#ifdef's in the middle of deep functions. In the middle of a _trivial_
function it's much more palatable.

At that point at least part 1 ends up being a nice clean patch on its own,
and should even shrink the code-size a bit. IOW, it not only is a cleanup,
there is even a technical argument for it (even without worrying about the
next stages).

Hmm?

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