drastic changes to allocsize semantics in or around 2.6.38?

Marc Lehmann schmorp at schmorp.de
Fri May 20 10:49:20 CDT 2011


On Fri, May 20, 2011 at 12:56:59PM +1000, Dave Chinner <david at fromorbit.com> wrote:
[thanks for the thorough explanation]
> 
> So the question there: how is your workload accessing the files? Is
> it opening and closing them multiple times in quick succession after
> writing them?

I don't think so, but of course, when compiling a file, it will be linked
afterwards, so I guess it would be accessed at least once.

> I think it is triggering the "NFS server access pattern" logic and so
> keeping speculative preallocation around for longer.

Longer meaning practically infinitely :)

> I'd suggest removing the allocsize mount option - you shouldn't need
> it anymore because the new default behaviour resists fragmentation a
> whole lot better than pre-2.6.38 kernels.

I did remove it already, and will actively try this on our production
server which suffer from severe fragmentation (but xfs_fsr fixes that with
some work (suspending the logfile writing) anyway).

However, I would suggest that whatever heuristic 2.6.38 uses is deeply
broken at the momment, as NFS was not involved here at all (so no need for
it), the usage pattern was a simple compile-then-link-pattern (which is
very common), and there is really no need to cache this preallocation for
files that have been closed 8 hours ago and never touched since then.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\




More information about the xfs mailing list