[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20101008083514.GA12402@ywang-moblin2.bj.intel.com>
Date: Fri, 8 Oct 2010 16:35:14 +0800
From: Yong Wang <yong.y.wang@...ux.intel.com>
To: Jens Axboe <jaxboe@...ionio.com>, Christoph Hellwig <hch@....de>,
Artem Bityutskiy <Artem.Bityutskiy@...ia.com>,
Wu Fengguang <fengguang.wu@...el.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org, xia.wu@...el.com
Subject: [PATCH] bdi: use deferable timer for sync_supers task
sync_supers task currently wakes up periodically for superblock
writeback. This hurts power on battery driven devices. This patch
turns this housekeeping timer into a deferable timer so that it
does not fire when system is really idle.
Signed-off-by: Yong Wang <yong.y.wang@...el.com>
Signed-off-by: Xia Wu <xia.wu@...el.com>
---
mm/backing-dev.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 65d4204..9a8daa5 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -238,7 +238,9 @@ static int __init default_bdi_init(void)
sync_supers_tsk = kthread_run(bdi_sync_supers, NULL, "sync_supers");
BUG_ON(IS_ERR(sync_supers_tsk));
- setup_timer(&sync_supers_timer, sync_supers_timer_fn, 0);
+ init_timer_deferrable(&sync_supers_timer);
+ sync_supers_timer.function = sync_supers_timer_fn;
+ sync_supers_timer.data = 0;
bdi_arm_supers_timer();
err = bdi_init(&default_backing_dev_info);
--
1.5.5.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists