Re: [PATCH 2/2] UBIFS: start using hrtimers

From: Artem Bityutskiy
Date: Fri May 29 2009 - 09:59:09 EST


Peter Zijlstra wrote:
On Fri, 2009-05-29 at 18:09 +0300, Artem Bityutskiy wrote:
From: Artem Bityutskiy <Artem.Bityutskiy@xxxxxxxxx>
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@xxxxxxxxx>
---

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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/