From: Dave Chinner <david@fromorbit.com>
To: Cyril Peponnet <cyril.peponnet@nuagenetworks.net>
Cc: linux-xfs@vger.kernel.org
Subject: Re: XFS: possible memory allocation deadlock in kmem_alloc on glusterfs setup
Date: Wed, 7 Dec 2016 17:16:46 +1100 [thread overview]
Message-ID: <20161207061646.GG4326@dastard> (raw)
In-Reply-To: <C257E648-B5F6-473D-B659-74434CF0FB51@nuagenetworks.net>
On Tue, Dec 06, 2016 at 09:54:37AM -0800, Cyril Peponnet wrote:
>
> > On Dec 5, 2016, at 1:45 PM, Dave Chinner <david@fromorbit.com> wrote:
> >
> > On Mon, Dec 05, 2016 at 07:51:45AM -0800, Cyril Peponnet wrote:
> >> I had the issue again but I don’t have more output in dmesg or
> >> journalctl even with the echo 11 > /proc/sys/fs/xfs/error_level
> >> set.
> >
> > Which means your kernel does not have this commit:
> >
> > commit 847f9f6875fb02b576035e3dc31f5e647b7617a7
> > Author: Eric Sandeen <sandeen@redhat.com>
> > Date: Mon Oct 12 16:04:45 2015 +1100
> >
> > xfs: more info from kmem deadlocks and high-level error msgs
> >
> > In an effort to get more useful out of "possible memory
> > allocation deadlock" messages, print the size of the
> > requested allocation, and dump the stack if the xfs error
> > level is tuned high.
> >
> > The stack dump is implemented in define_xfs_printk_level()
> > for error levels >= LOGLEVEL_ERR, partly because it
> > seems generically useful, and also because kmem.c has
> > no knowledge of xfs error level tunables or other such bits,
> > it's very kmem-specific.
> >
> > Signed-off-by: Eric Sandeen <sandeen@redhat.com>
> > Reviewed-by: Dave Chinner <dchinner@redhat.com>
> > Signed-off-by: Dave Chinner <david@fromorbit.com>
>
> Indeed we should plan an upgrade window.
>
> >
> >> Is there another location where I should look at ?
> >
> > Nope, there's nothing in your kernel we can use to identify the
> > source of memory allocations. I'm pretty sure that RH have used
> > systemtap scripts to pull this information from these kernels for
> > RHEL customers - we've added additional debug help here to avoid
> > that need, but your kernel doesn't have that code....
> >
> > Essentially, best guess is that it's file fragmentation causing
> > problems with extent list allocation. Finding out why that one
> > snapshot is fragmenting so much and mitigating it is probably the
> > only thing you can do right now (i.e. extent size hints). Long term
> > is to get gluster to do the mitigation for VM images automatically.
> >
>
> Looks like it’s better since I disabled the vm that was taking a lot of disk space:
>
> qemu-img info disk0.snapshot.qcow2
> image: disk0.snapshot.qcow2
> file format: qcow2
> virtual size: 265G (284541583360 bytes)
> disk size: 798G
> cluster_size: 65536
> backing file: base.qcow2
>
> Note the virtual size vs the disk size, looks pretty fragmented.
>
> I will follow up with glusters guys.
>
> One dumb question, can the extent size hint be done at the root
> level?
Yes. Just set it immediately after mkfs on the root directory inode
and everything in the filesystem will inherit that extent size hint
at create time.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2016-12-07 6:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-03 19:08 XFS: possible memory allocation deadlock in kmem_alloc on glusterfs setup Cyril Peponnet
2016-12-04 21:49 ` Dave Chinner
2016-12-04 22:07 ` Cyril Peponnet
2016-12-04 22:46 ` Dave Chinner
2016-12-04 23:24 ` Cyril Peponnet
2016-12-04 23:50 ` Dave Chinner
2016-12-05 1:14 ` Cyril Peponnet
2016-12-05 1:22 ` Dave Chinner
2016-12-05 1:48 ` Cyril Peponnet
[not found] ` <C07DD929-5600-4934-A6B0-C0A7D83D7247@nuagenetworks.net>
2016-12-05 7:46 ` Dave Chinner
2016-12-05 15:51 ` Cyril Peponnet
2016-12-05 21:45 ` Dave Chinner
2016-12-06 17:54 ` Cyril Peponnet
2016-12-07 6:16 ` Dave Chinner [this message]
[not found] ` <473936408.4772.1481091425441@itfw6.prod.google.com>
[not found] ` <8176484246282250577@unknownmsgid>
2016-12-07 19:44 ` 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=20161207061646.GG4326@dastard \
--to=david@fromorbit.com \
--cc=cyril.peponnet@nuagenetworks.net \
--cc=linux-xfs@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).