Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755793Ab0GFQ3H (ORCPT ); Tue, 6 Jul 2010 12:29:07 -0400 Received: from fieldses.org ([174.143.236.118]:38045 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755880Ab0GFQ3F (ORCPT ); Tue, 6 Jul 2010 12:29:05 -0400 Date: Tue, 6 Jul 2010 12:29:02 -0400 From: "J. Bruce Fields" To: Artem Bityutskiy Cc: Neil Brown , linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Trond Myklebust , "David S. Miller" Subject: Re: [PATCH] sunrpc: make the cache cleaner workqueue deferrable Message-ID: <20100706162902.GF7387@fieldses.org> References: <1277996756-8415-1-git-send-email-dedekind1@gmail.com> <1278333090.29620.47.camel@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1278333090.29620.47.camel@localhost> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1854 Lines: 41 On Mon, Jul 05, 2010 at 03:31:30PM +0300, Artem Bityutskiy wrote: > On Thu, 2010-07-01 at 18:05 +0300, Artem Bityutskiy wrote: > > From: Artem Bityutskiy > > > > This patch makes the cache_cleaner workqueue deferrable, to prevent > > unnecessary system wake-ups, which is very important for embedded > > battery-powered devices. > > > > do_cache_clean() is called every 30 seconds at the moment, and often > > makes the system wake up from its power-save sleep state. With this > > change, when the workqueue uses a deferrable timer, the > > do_cache_clean() invocation will be delayed and combined with the > > closest "real" wake-up. This improves the power consumption situation. > > > > Note, I tried to create a DECLARE_DELAYED_WORK_DEFERRABLE() helper > > macro, similar to DECLARE_DELAYED_WORK(), but failed because of the > > way the timer wheel core stores the deferrable flag (it is the > > LSBit in the time->base pointer). My attempt to define a static > > variable with this bit set ended up with the "initializer element is > > not constant" error. > > > > Thus, I have to use run-time initialization, so I created a new > > cache_initialize() function which is called once when sunrpc is > > being initialized. > > > > Signed-off-by: Artem Bityutskiy > > Bruce, > > I did some git-logging, and found out that sunrpc stuff goes from you, > from Trond, and from David, and MAINTAINERS also mentions Neil. Whom > should I ping WRT to merging this patch? I got it. (I'm just getting back from vacation, and very backlogged.) --b. -- 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/