From mboxrd@z Thu Jan 1 00:00:00 1970 From: Artem Bityutskiy Subject: [PATCH 00/19] periodic write-back timer optimization Date: Wed, 27 May 2009 16:05:03 +0300 Message-ID: <20090527130503.4913.62042.sendpatchset@localhost.localdomain> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: linux-fsdevel@vger.kernel.org, Christoph Hellwig , Artem Bityutskiy To: linux-kernel@vger.kernel.org Return-path: Received: from smtp.nokia.com ([192.100.122.230]:54583 "EHLO mgw-mx03.nokia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759802AbZE0LMM (ORCPT ); Wed, 27 May 2009 07:12:12 -0400 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi, This is the second attempt. The first one was here: http://marc.info/?l=3Dlinux-fsdevel&m=3D124301072305588&w=3D2 It was very hacky and got no comments. Here is a cleaner set of patches. They attempt to optimize the periodic write-back and stop it when there are no dirty data. At the moment "pdflush" thread wakes up every 5 seconds (by default). Even if there are no dirty data, it still wakes up. In the embedded world this means that power consumption is higher, because the pdflush makes the CPU to leave low power consumption/retention mode every 5 seconds. The patch set consists of 2 parts. Patches 01-17 are rather mechanical. They simply introduce 3 VFS helpers which encapsulate the 'sb->s_dirt' handling, so file-systems do not manipulate it directly, but rather use VFS helpers for this. Patch 18 is just a simple preparation for patch 19. Patch 19 introduces a global 'periodic_wb_enabled' flag. Then it adds few code to the 'mark_sb_dirty()' and the '__mark_inode_dirty(); function. This code enables the periodic write-back if it is disabled. I tried to make this additional code light-weight. The periodic WB function, in turn, checks whether there is dirt. If there is, it sets the 'wb_timer' for itself. Otherwise, it just deletes the timer. Should something become dirty, it will be woken up again. This is still RFC. --=20 Best Regards, Artem Bityutskiy (=D0=90=D1=80=D1=82=D1=91=D0=BC =D0=91=D0=B8=D1=82=D1=8E= =D1=86=D0=BA=D0=B8=D0=B9) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html