From: Dave Chinner <david@fromorbit.com>
To: Alex Lyakas <alex@zadarastorage.com>
Cc: Danny Shavit <danny@zadarastorage.com>,
Shyam Kaushik <shyam@zadarastorage.com>,
bfoster@redhat.com, Yair Hershko <yair@zadarastorage.com>,
xfs@oss.sgi.com, Christoph Hellwig <hch@infradead.org>
Subject: Re: xfs_iext_realloc_indirect and "XFS: possible memory allocation deadlock"
Date: Wed, 6 Apr 2016 06:41:06 +1000 [thread overview]
Message-ID: <20160405204106.GF11238@dastard> (raw)
In-Reply-To: <77693FFEB62A474DA7F039FD92CC5304@alyakaslap>
On Tue, Apr 05, 2016 at 09:10:06PM +0300, Alex Lyakas wrote:
> Hello Dave, Brian, Christoph,
>
> We are still encountering cases, in which different IO patterns beat
> XFS preallocation schemes, resuling in highly fragmented files,
> having 100s of thousands and sometimes millions of extents. In these
> cases XFS tries to allocate large arrays of xfs_ext_irec_t structure
> with kmalloc, and this often gets into numerous retries, and
> sometimes triggers hung task panic (due to some other thread wanting
> to access the same file).
>
> We made a change to call kmem_zalloc_large, which resorts to
> __vmalloc in case kmalloc fails. kmem_free is already handling
> vmalloc addresses correctly. The change is only for the allocation
> done in xfs_iext_realloc_indirect, as this is the only place, in
> which we have seen the issue.
As I've said before, vmalloc is not a solution we can use in
general. 32 bit systems have less vmalloc area than normal kernel
memory (e.g. ia32 has 128MB of vmalloc space vs 896MB of kernel
address space by default) and hence if we get large vmap allocation
requests for non-temporary, not directly reclaimable memory then
we'll end up with worse problems than we already have due to vmalloc
area exhaustion.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2016-04-05 20:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-23 8:18 xfs_iext_realloc_indirect and "XFS: possible memory allocation deadlock" Alex Lyakas
2015-06-23 20:18 ` Dave Chinner
2015-06-27 21:01 ` Alex Lyakas
2015-06-28 18:19 ` Alex Lyakas
2015-06-29 11:43 ` Brian Foster
2015-06-29 17:59 ` Alex Lyakas
2015-06-29 19:02 ` Brian Foster
2015-06-29 22:26 ` Dave Chinner
2015-07-06 18:47 ` Alex Lyakas
2015-07-07 0:09 ` Dave Chinner
2015-07-07 9:05 ` Christoph Hellwig
2015-07-23 15:39 ` Alex Lyakas
2015-07-23 23:09 ` Dave Chinner
2016-04-05 18:10 ` Alex Lyakas
2016-04-05 20:41 ` Dave Chinner [this message]
2016-04-06 16:39 ` Alex Lyakas
2016-04-06 20:57 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160405204106.GF11238@dastard \
--to=david@fromorbit.com \
--cc=alex@zadarastorage.com \
--cc=bfoster@redhat.com \
--cc=danny@zadarastorage.com \
--cc=hch@infradead.org \
--cc=shyam@zadarastorage.com \
--cc=xfs@oss.sgi.com \
--cc=yair@zadarastorage.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox