Re: Prezeroing V3 [1/4]: Allow request for zeroed memory
[Posted January 5, 2005 by corbet]
| From: |
| Linus Torvalds <torvalds-AT-osdl.org> |
| To: |
| Christoph Lameter <clameter-AT-sgi.com> |
| Subject: |
| Re: Prezeroing V3 [1/4]: Allow request for zeroed memory |
| Date: |
| Tue, 4 Jan 2005 16:34:21 -0800 (PST) |
| Cc: |
| Andrew Morton <akpm-AT-osdl.org>, linux-ia64-AT-vger.kernel.org,
linux-mm-AT-kvack.org,
Linux Kernel Development <linux-kernel-AT-vger.kernel.org> |
| Archive-link: |
| Article,
Thread
|
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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
(
Log in to post comments)