Messages in this thread | | | Date | Mon, 16 May 2005 10:40:51 +0100 | From | Christoph Hellwig <> | Subject | Re: [XFS] Kernel (2.6.11) deadlock (kernel hang) in user mode when writing data through mmap on large files (64-bit systems) |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |