* [RFC 0/5] add new ioctls to do metadata readahead in btrfs
@ 2010-12-13 7:22 Shaohua Li
0 siblings, 0 replies; only message in thread
From: Shaohua Li @ 2010-12-13 7:22 UTC (permalink / raw)
To: linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Cc: Chris Mason, Christoph Hellwig, Arjan van de Ven, Andrew Morton
Hi,
We have file readahead to do asyn file read, but has no metadata
readahead. For a list of files, their metadata is stored in fragmented
disk space and metadata read is a sync operation, which impacts the
efficiency of readahead much. The patches try to add meatadata readahead
for btrfs.
In btrfs, metadata is stored in btree_inode. Ideally, if we could hook
the inode to a fd so we could use existing syscalls (readahead, mincore
or upcoming fincore) to do readahead, but the inode is hidden, there is
no easy way for this from my understanding. So we add two ioctls for
this. One is like readahead syscall, the other is like micore/fincore
syscall.
Under a harddisk based netbook with Meego, the metadata readahead
reduced about 3.5s boot time in average from total 16s.
Last time I posted similar patches to btrfs maillist, which adds the
new ioctls in btrfs specific ioctl code. But Christoph Hellwig asks we
have a generic interface to do this so other filesystem can share some
code, so I came up with the new one. Comments and suggestions are
welcome!
Thanks,
Shaohua
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-12-13 7:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-13 7:22 [RFC 0/5] add new ioctls to do metadata readahead in btrfs Shaohua Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).