All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael L. Semon" <mlsemon35@gmail.com>
To: Dave Chinner <david@fromorbit.com>, Mark Tinguely <tinguely@sgi.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH] xfs: xfs_alloc_fix_minleft can underflow near ENOSPC
Date: Tue, 17 Feb 2015 10:36:54 -0500	[thread overview]
Message-ID: <54E36016.20908@gmail.com> (raw)
In-Reply-To: <20150216231716.GB4251@dastard>

On 02/16/15 18:17, Dave Chinner wrote:
> On Mon, Feb 16, 2015 at 11:35:50AM -0600, Mark Tinguely wrote:
>> Thanks Michael, you don't need to hold your test box for me. I do
>> have a way to recreate these ABBA AGF buffer allocation deadlocks
>> and understand the whys and hows very well. I don't have a community
>> way to make a xfstest for it but I think your test is getting close.
> 
> If you know what is causing them, then please explain how it occurs
> and how you think it needs to be fixed. Just telling us that you know
> something that we don't doesn't help us solve the problem. :(
> 
> In general, the use of the args->firstblock is supposed to avoid the
> ABBA locking order issues with multiple allocations in the one
> transaction by preventing AG selection loops from looping back into
> AGs with a lower index than the first allocation that was made.
> 
> So if you are seeing deadlocks, then it may be that we aren't
> following this constraint correctly in all locations....
> 
> Cheers,
> 
> Dave.

Will this be a classic deadlock that will cause problems when trying to
kill processes and unmount filesystems?  If so, then I was unable to use
generic/224 to trigger a deadlock.  If not, then I'll need a better way
of looking at the problem.

The longest generic/224 loop lasted only 3-1/2 hours, though.  The
fstests enospc group was given some consideration as well.

If this issue does not require a lot of files, I might see if fio can 
be helpful here.

Hints on whether to us a fast kernel or a miserably slow kernel would 
be rather helpful.

My test setup is torn because most of the recent warning messages are
coming from the CONFIG_XFS_WARN kernels.  The i686 Pentium 4 box will be
left that way.  However, the Core 2 box was configured per
Documentation/SubmitChecklist from the kernel source, adding debug XFS
and locktorture.  The locktorture settings are in flux, exercising 
spinlocks at present.  There was a mild halt in I/O for generic/017, but 
that was XFS waiting on kmem-something waiting on a kmemleak function.  
kmemleak was removed, and I'll continue from there.

Thanks!

Michael

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

  reply	other threads:[~2015-02-17 15:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-12 23:14 [PATCH] xfs: xfs_alloc_fix_minleft can underflow near ENOSPC Dave Chinner
2015-02-13 23:40 ` Mark Tinguely
2015-02-14 23:29   ` Dave Chinner
2015-02-16  3:39     ` Michael L. Semon
2015-02-16 17:35       ` Mark Tinguely
2015-02-16 23:17         ` Dave Chinner
2015-02-17 15:36           ` Michael L. Semon [this message]
2015-02-18  0:48             ` Dave Chinner
2015-02-18 15:32               ` Michael L. Semon
2015-02-16 13:41 ` Brian Foster

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=54E36016.20908@gmail.com \
    --to=mlsemon35@gmail.com \
    --cc=david@fromorbit.com \
    --cc=tinguely@sgi.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.