Re: [XFS] Kernel (2.6.11) deadlock (kernel hang) in user mode when writing data through mmap on large files (64-bit systems)

From: Christoph Hellwig
Date: Mon May 16 2005 - 04:44:11 EST


On Thu, May 12, 2005 at 11:19:01AM +0200, Xavier Roche wrote:
> It seems that the file was really *badly* fragmented. The reason, as far
> as we understand the problem, was:
>
> - a file "truncated" to _expand_ its size (using ftruncate() with a size
> MUCH larger that the current size, which is == 0), leading to create a
> "big sparse file" area
> - sequential write in this file (_NOT_ random) using the corresponding
> mmapp'ed data segment
> - random (!) flush from kswapd leading to allocate fragmented pages
> (sparse file)

..

> >You're seeing allocation errors where we are trying to realloc that memory
> >block.
> >Could you try the patches that Nikita posted to -mm that should improve
> >this behaviour?
>
> Well, the reasons seems to clearly be this anormal number fo fragments -
> is there any potential solution (in the kernel/mm), or the olny solution
> is a patch to ensure that ftruncate() is replaced by regulars
> fwrite()-zero calls ?
>

Yes. Currently the kernel is doing very badly about clustering these
kinds of allocations. Can you test whether the patches at:

http://marc.theaimsgroup.com/?l=linux-mm&m=111375946911468&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375947014227&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375947006819&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375947029723&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375947010814&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375990000352&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375990030384&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375990032680&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=111375990019453&w=2

make any difference to you?

-
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/