From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261534AbVAEBCf (ORCPT ); Tue, 4 Jan 2005 20:02:35 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262090AbVAEBCf (ORCPT ); Tue, 4 Jan 2005 20:02:35 -0500 Received: from e3.ny.us.ibm.com ([32.97.182.143]:19181 "EHLO e3.ny.us.ibm.com") by vger.kernel.org with ESMTP id S261534AbVAEBCb (ORCPT ); Tue, 4 Jan 2005 20:02:31 -0500 Subject: Re: Prezeroing V3 [1/4]: Allow request for zeroed memory From: Dave Hansen To: Christoph Lameter Cc: Andrew Morton , linux-ia64@vger.kernel.org, Linus Torvalds , linux-mm , Linux Kernel Development In-Reply-To: References: <41C20E3E.3070209@yahoo.com.au> Content-Type: text/plain Date: Tue, 04 Jan 2005 15:45:42 -0800 Message-Id: <1104882342.16305.12.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.0.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2005-01-04 at 15:13 -0800, Christoph Lameter wrote: > + 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); > + } > if (order && (gfp_flags & __GFP_COMP)) > prep_compound_page(page, order); That #ifdef can probably die. The compiler should get that all by itself: > #ifdef CONFIG_HIGHMEM > #define PageHighMem(page) test_bit(PG_highmem, &(page)->flags) > #else > #define PageHighMem(page) 0 /* needed to optimize away at compile time */ > #endif -- Dave