Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751894AbZGXEsh (ORCPT ); Fri, 24 Jul 2009 00:48:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751334AbZGXEsh (ORCPT ); Fri, 24 Jul 2009 00:48:37 -0400 Received: from cobra.newdream.net ([66.33.216.30]:39632 "EHLO cobra.newdream.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751121AbZGXEsg (ORCPT ); Fri, 24 Jul 2009 00:48:36 -0400 Date: Thu, 23 Jul 2009 21:48:36 -0700 (PDT) From: Sage Weil To: Andi Kleen cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 08/19] ceph: address space operations In-Reply-To: <20090723191611.GE19207@basil.fritz.box> Message-ID: References: <1248292313-31326-2-git-send-email-sage@newdream.net> <1248292313-31326-3-git-send-email-sage@newdream.net> <1248292313-31326-4-git-send-email-sage@newdream.net> <1248292313-31326-5-git-send-email-sage@newdream.net> <1248292313-31326-6-git-send-email-sage@newdream.net> <1248292313-31326-7-git-send-email-sage@newdream.net> <1248292313-31326-8-git-send-email-sage@newdream.net> <1248292313-31326-9-git-send-email-sage@newdream.net> <874ot33ddd.fsf@basil.nowhere.org> <20090723191611.GE19207@basil.fritz.box> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1094 Lines: 23 On Thu, 23 Jul 2009, Andi Kleen wrote: > > There are two other memory allocations during writeout: a vector of pages > > to be written, and the message we're sending to the OSD. If I use a > > mempool for those to guarantee as least some writeout will occur, how do I > > safely defer when allocations do fail? Will pdflush (or it's replacement) > > eventually come back and try ->writepages() again? > > mempool allocs should never fail, just block for a long time until > someone else frees. This means you need to ensure of course you > always make forward progress. Oh, that avoids the issue reasonably well then. Using mempools for the message passing is going to be a bit trickier (need to avoid any deadlocks due to dependencies on other messages), but it's doable. At least in the limited case of making writeback proceed. sage -- 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/