Messages in this thread | | | Date | Fri, 22 Feb 2013 21:13:08 +0000 | From | Eric Wong <> | Subject | Re: [PATCH] fadvise: perform WILLNEED readahead in a workqueue |
| |
Phillip Susi <psusi@ubuntu.com> wrote: > > On Sat, Dec 15, 2012 at 12:54:48AM +0000, Eric Wong wrote: > >> "strace -T" timing on an uncached, one gigabyte file: > >> > >> Before: fadvise64(3, 0, 0, POSIX_FADV_WILLNEED) = 0 <2.484832> > >> After: fadvise64(3, 0, 0, POSIX_FADV_WILLNEED) = 0 <0.000061> > > It shouldn't take 2 seconds to queue up some async reads. Are you > using ext3? The blocks have to be mapped in order to queue the reads, > and without ext4 extents, this means the indirect blocks have to be > read and can cause fadvise to block.
You're right, I originally tested on ext3.
I just tested an unpatched 3.7.9 kernel with ext4 and is much faster (~250ms). I consider ~250ms acceptable for my needs. Will migrate the rest of my setup to ext4 soon, thanks for the tip!
| |