Re: Prezeroing V3 [1/4]: Allow request for zeroed memory
From: Linus Torvalds <torvalds@osdl.org>
Date: 2005-01-05 00:40:55
Also in:
lkml
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>