public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Avi Kivity <avi@scylladb.com>
Cc: xfs@oss.sgi.com
Subject: Re: xfs hang or slowness while removing files
Date: Thu, 3 Dec 2015 08:09:30 +1100	[thread overview]
Message-ID: <20151202210929.GJ19199@dastard> (raw)
In-Reply-To: <565ED10C.9000604@scylladb.com>

On Wed, Dec 02, 2015 at 01:07:56PM +0200, Avi Kivity wrote:
> Removing a directory with ~900 32MB files, we saw this:
> 
> [ 5645.684464] INFO: task xfsaild/md0:12247 blocked for more than
> 120 seconds.
> [ 5645.686488] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> disables this message.
> [ 5645.687713] xfsaild/md0     D ffff88103f9d3680     0 12247    2
> 0x00000080
> [ 5645.687729]  ffff8810136f7d40 0000000000000046 ffff882026d82220
> ffff8810136f7fd8
> [ 5645.687732]  ffff8810136f7fd8 ffff8810136f7fd8 ffff882026d82220
> ffff882026d82220
> [ 5645.687734]  ffff88103f9d44c0 0000000000000001 0000000000000000
> ffff8820285aa928
> [ 5645.687737] Call Trace:
> [ 5645.687747]  [<ffffffff816098d9>] schedule+0x29/0x70
> [ 5645.687768]  [<ffffffffa06cd880>] _xfs_log_force+0x230/0x290 [xfs]
> [ 5645.687773]  [<ffffffff810a9510>] ? wake_up_state+0x20/0x20
> [ 5645.687796]  [<ffffffffa06cd906>] xfs_log_force+0x26/0x80 [xfs]
> [ 5645.687808]  [<ffffffffa06d2380>] ?
> xfs_trans_ail_cursor_first+0x90/0x90 [xfs]
> [ 5645.687818]  [<ffffffffa06d24d1>] xfsaild+0x151/0x5e0 [xfs]
> [ 5645.687828]  [<ffffffffa06d2380>] ?
> xfs_trans_ail_cursor_first+0x90/0x90 [xfs]
> [ 5645.687831]  [<ffffffff8109727f>] kthread+0xcf/0xe0
> [ 5645.687834]  [<ffffffff810971b0>] ? kthread_create_on_node+0x140/0x140
> [ 5645.687837]  [<ffffffff81614358>] ret_from_fork+0x58/0x90
> [ 5645.687852]  [<ffffffff810971b0>] ? kthread_create_on_node+0x140/0x140
> 
> 'rm' did not complete, but was killable.  Nothing else was running
> on the system at the time.

Which means the filesystem was not hung, nor was rm blocked in XFS.
That implies the directory/inode reads that rm does were running
really slowly. Something else going on here.

> The filesystem was mounted with the discard option set, but since
> that is discouraged, we'll retry without it.

Ah, yes, that could cause exactly these symptoms.

I'd guess you are using storage that has unqueued TRIM operations
(i.e. SATA 3.0 hardware somewhere in your storage path, as queued
TRIM only came along with SATA 3.1 and AFAIA there's not a lot of
3.1 hardware out there yet) which means while discards are
being issued all other IO tanks and goes really slow.

We have seen individual TRIM requests on some SSDs take tens of
milliseconds to complete, regardless of their size. Hence if you
have one of these devices and you're running thousands of TRIM
commands across ~30GB of data being freed, then you'd see things
like rm being really slow on the read side and log forces waiting an
awful long time for journal IO completion processing to take
place...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2015-12-02 21:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-02 11:07 xfs hang or slowness while removing files Avi Kivity
2015-12-02 21:09 ` Dave Chinner [this message]
2015-12-03 12:02   ` Avi Kivity

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=20151202210929.GJ19199@dastard \
    --to=david@fromorbit.com \
    --cc=avi@scylladb.com \
    --cc=xfs@oss.sgi.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