From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Gerst Date: Thu, 23 Dec 2004 20:08:14 +0000 Subject: Re: Prezeroing V2 [1/4]: __GFP_ZERO / clear_page() removal Message-Id: <41CB25AE.6010109@didntduck.org> List-Id: References: <41C20E3E.3070209@yahoo.com.au> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Christoph Lameter Cc: akpm@osdl.org, linux-ia64@vger.kernel.org, torvalds@osdl.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Christoph Lameter wrote: > This patch introduces __GFP_ZERO as an additional gfp_mask element to allow > to request zeroed pages from the page allocator. > > o Modifies the page allocator so that it zeroes memory if __GFP_ZERO is set > > o Replace all page zeroing after allocating pages by request for > zeroed pages. > > o requires arch updates to clear_page in order to function properly. > > Signed-off-by: Christoph Lameter > > @@ -125,22 +125,19 @@ > int i; > struct packet_data *pkt; > > - pkt = kmalloc(sizeof(struct packet_data), GFP_KERNEL); > + pkt = kmalloc(sizeof(struct packet_data), GFP_KERNEL|__GFP_ZERO); > if (!pkt) > goto no_pkt; > - memset(pkt, 0, sizeof(struct packet_data)); > > pkt->w_bio = pkt_bio_alloc(PACKET_MAX_SIZE); > if (!pkt->w_bio) This part is wrong. kmalloc() uses the slab allocator instead of getting a full page. -- Brian Gerst