lkml.org 
[lkml]   [2011]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ext4: do not normalize block requests from fallocate.
On Fri, May 13, 2011 at 02:19:05PM -0700, Vivek Haldar wrote:
> Currently, an fallocate request of size slightly larger than a power of
> 2 is turned into two block requests, each a power of 2, with the extra
> blocks pre-allocated for future use. When an application calls
> fallocate, it already has an idea about how large the file may grow so
> there is usually little benefit to reserve extra blocks on the
> preallocation list. This reduces disk fragmentation.
>
> Tested: fsstress. Also verified manually that fallocat'ed files are
> contiguously laid out with this change (whereas without it they begin at
> power-of-2 boundaries, leaving blocks in between). CPU usage of
> fallocate is not appreciably higher. In a tight fallocate loop, CPU
> usage hovers between 5%-8% with this change, and 5%-7% without it.
>
> Signed-off-by: Vivek Haldar <haldar@google.com>

Applied, with a minor change to avoid a bit assignment conflict with
the punch patches.

Also, I changed the commit message to note that using a file aging
simulator which filled the file system to 70%, the percentage of free
extents greater than 8MB (as measured using e2freefrag) increased from
38.8% without this commit, to 69.4% with this commit.

- Ted


\
 
 \ /
  Last update: 2011-05-23 03:13    [W:0.057 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site