From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753431AbYCIMtk (ORCPT ); Sun, 9 Mar 2008 08:49:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752961AbYCIMta (ORCPT ); Sun, 9 Mar 2008 08:49:30 -0400 Received: from smtp-out01.alice-dsl.net ([88.44.60.11]:33684 "EHLO smtp-out01.alice-dsl.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752512AbYCIMt3 (ORCPT ); Sun, 9 Mar 2008 08:49:29 -0400 To: Ingo Molnar Cc: Thomas Gleixner , LKML , Linus Torvalds , Andrew Morton , Christoph Lameter , Bart Van Assche Subject: Re: quicklists confuse meminfo References: <20080309111456.GA21690@elte.hu> <20080309120124.GB1249@elte.hu> From: Andi Kleen Date: 09 Mar 2008 13:49:26 +0100 In-Reply-To: <20080309120124.GB1249@elte.hu> Message-ID: <87ejak12qx.fsf@basil.nowhere.org> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-OriginalArrivalTime: 09 Mar 2008 12:42:55.0127 (UTC) FILETIME=[18A7D270:01C881E3] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ingo Molnar writes: > * Thomas Gleixner wrote: > > > Right, also the quicklist_trim() in idle() is freeing at max 16 pages > > in one go. According to the quicklist_trim() code we keep up to > > (node_free_pages / 16) in the quicklist unconditionally, which seems > > rather odd as well. > > i suspect the right approach would be to get rid of them altogether and > to convert the code to RCU and plain old alloc/free instead. Are you sure RCU is even needed? AFAIK all delayed freeing on page table level is already handled by the standard free-after-flush mmu code. iirc quicklists were just to avoid rezeroing pages which are known to be zero at free time (in theory __GFP_ZERO should handle that at page_alloc.c level, but it doesn't) and to get a little private fast path for the page allocator (might actually predate the current page_alloc fast paths) -Andi