RE: [PATCH] bdi: use deferable timer for sync_supers task

From: Wu, Xia
Date: Fri Oct 08 2010 - 06:27:18 EST



> On Fri, 2010-10-08 at 12:04 +0200, ext Wu, Xia wrote:
> > On Fri, Oct 08, 2010 at 04:35:14PM +0800, Yong Wang wrote:
> > > > 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.
> >
> > > How long can the timer be defereed? We can't simply stop writing
> > > out data for a long time. I think the current timer value should be
> > > the upper bound, but allowing to fire earlier to run during the
> > > same wakeup cycle as others is fine.
> >
> > If the system is in sleep state, this timer can be deferred to the next wake-up interrupt.
> > If the system is busy, this timer will fire at the scheduled time.

> However, when the next wake-up interrupt happens is not defined. It can
> happen 1ms after, or 1 minute after, or 1 hour after. What Christoph
> says is that there should be some guarantee that sb writeout starts,
> say, within 5 to 10 seconds interval. Deferrable timers do not guarantee
> this. But take a look at the range hrtimers - they do exactly this.

If the system is in sleep state, is there any data which should be written? Must
sb writeout start even there isn't any data?

èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—