Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761632AbXHWKMn (ORCPT ); Thu, 23 Aug 2007 06:12:43 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757211AbXHWKMg (ORCPT ); Thu, 23 Aug 2007 06:12:36 -0400 Received: from mail.clusterfs.com ([74.0.229.162]:38373 "EHLO mail.clusterfs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756115AbXHWKMf (ORCPT ); Thu, 23 Aug 2007 06:12:35 -0400 From: Nikita Danilov MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18125.23918.550443.628936@gargle.gargle.HOWL> Date: Thu, 23 Aug 2007 14:11:58 +0400 To: Peter Zijlstra Cc: Nick Piggin , Christoph Lameter , Pavel Machek , linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, dkegel@google.com, David Miller Subject: Re: [RFC 2/9] Use NOMEMALLOC reclaim to allow reclaim if PF_MEMALLOC is set In-Reply-To: <1187861208.6114.342.camel@twins> References: <20070814153021.446917377@sgi.com> <20070814153501.305923060@sgi.com> <20070818071035.GA4667@ucw.cz> <1187641056.5337.32.camel@lappy> <1187644449.5337.48.camel@lappy> <20070821003922.GD8414@wotan.suse.de> <1187705235.6114.247.camel@twins> <20070823033826.GE18788@wotan.suse.de> <1187861208.6114.342.camel@twins> X-Mailer: VM 7.17 under 21.5 (patch 28) "fuki" XEmacs Lucid Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1076 Lines: 29 Peter Zijlstra writes: [...] > My idea is to extend kswapd, run cpus_per_node instances of kswapd per > node for each of GFP_KERNEL, GFP_NOFS, GFP_NOIO. (basically 3 kswapds > per cpu) > > whenever we would hit direct reclaim, add ourselves to a special > waitqueue corresponding to the type of GFP and kick all the > corresponding kswapds. There are two standard objections to this: - direct reclaim was introduced to reduce memory allocation latency, and going to scheduler kills this. But more importantly, - it might so happen that _all_ per-cpu kswapd instances are blocked, e.g., waiting for IO on indirect blocks, or queue congestion. In that case whole system stops waiting for IO to complete. In the direct reclaim case, other threads can continue zone scanning. Nikita. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/