Messages in this thread | | | Date | Fri, 29 May 2009 16:58:10 +0300 | From | Artem Bityutskiy <> | Subject | Re: [PATCH 2/2] UBIFS: start using hrtimers |
| |
Peter Zijlstra wrote: > On Fri, 2009-05-29 at 18:09 +0300, Artem Bityutskiy wrote: >> From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> >> Subject: [PATCH 2/2] UBIFS: start using hrtimers >> >> UBIFS uses timers for write-buffer write-back. It is not >> crucial for us to write-back exactly on time. We are fine >> to write-back a little earlier or later. And this means >> we may optimize UBIFS timer so that it could be groped >> with a close timer event, so that the CPU would not be >> waken up just to do the write back. This is optimization >> to lessen power consumption, which is important in >> embedded devices UBIFS is used for. >> >> hrtimers have a nice feature: they are effectively range >> timers, and we may defind the soft and hard limits for >> it. Standard timers do not have these feature. They may >> only be made deferrable, but this means there is effectively >> no hard limit. So, we will better use hrtimers. >> >> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> >> --- > > Seems sane enough from a hrtimer POV, but isn't this already > functionality that the VFS/pdflush provide?
Yeah, VFS/pdflush takes care of the page-cache and inode cache, and dirty superblocks. But additionally to this UBIFS has its own small buffer of (usually) 2KiB size, we call it write-buffer. This is a very important optimization for NAND flash. And we have a separate timer to synchronize this small write-buffer.
I was also thinking to hook to VFS, which would mean creating a fake inode representing our write-bufffer. But this would be very hacky.
-- Best Regards, Artem Bityutskiy (Артём Битюцкий) -- 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/
| |