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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 08, 2010 at 09:57:04PM +0800, Wu Fengguang wrote:
> On Fri, Oct 08, 2010 at 06:27:09PM +0800, Yong Wang wrote:
> > On Fri, Oct 08, 2010 at 01:28:07PM +0300, Artem Bityutskiy wrote:
> > > On Fri, 2010-10-08 at 18:27 +0800, Wu, Xia wrote:
> > > > > 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?
> > > 
> > > May be yes, may be no.
> > > 
> > 
> > Thanks for the quick response, Artem. May I know what might need to be
> > written out when system is really idle?
> 
> system idle != no dirty inodes

Ah sorry -- I missed the context. Please ignore the following
paragraphs for sync_supers..

Thanks,
Fengguang

> Imagine an application dirties 100MB data and quits. The system then
> goes quiet for very long time. In this case we still want the flusher
> thread to wake up within 30 seconds to flush the 100MB dirty data.
> It's a contract that dirty data will be synced to disk after 30s
> (which is the default value of /proc/sys/vm/dirty_expire_centisecs).
> 
> Note that 30s is not an exact value. A dirty page may be synced to
> disk when it's been dirtied for 35s. The 5s error comes from the
> flusher wakeup interval (/proc/sys/vm/dirty_writeback_centisecs).
> 
> Thanks,
> Fengguang

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]