From: Eric Sandeen <sandeen@sandeen.net>
To: Tejun Heo <tj@kernel.org>
Cc: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com>
Subject: Re: [PATCH 2/2] xfs: mark the xfs-alloc workqueue as high priority
Date: Sat, 10 Jan 2015 18:04:30 -0600 [thread overview]
Message-ID: <54B1BE0E.7020302@sandeen.net> (raw)
In-Reply-To: <20150110192852.GD25319@htj.dyndns.org>
On 1/10/15 1:28 PM, Tejun Heo wrote:
> Hello, Eric.
> As long as the split worker is queued on a separate workqueue, it's
> not really stuck behind xfs_end_io's. If the global pool that the
> work item is queued on can't make forward progress due to memory
> pressure, the rescuer will be summoned and it will pick out that work
> item and execute it.
Ok, but that's not happening...
> The only reasons that work item would stay there are
>
> * The rescuer is already executing something else from that workqueue
> and that one is stuck.
I'll have to look at that. I hope I still have access to the core...
> * The worker pool is still considered to be making forward progress -
> there's a worker which isn't blocked and can burn CPU cycles.
AFAICT, the first thing in the pool is the xffs_end_io blocked waiting for the ilock.
I assume it's only the first one that matters?
> ie. if you have a busy spinning work item on the per-cpu workqueue,
> it can stall progress.
...
> Again, if xfs is using workqueue correctly, that work item shouldn't
> get stuck at all. What other workqueues are doing is irrelevant.
and yet here we are; one of us must be missing something. It's quite
possibly me :) but we definitely have this thing wedged, and moving
the xfsalloc item to the front via high priority did solve it. Not saying
it's the right solution, just a data point.
Thanks,
-Eric
> Thanks.
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2015-01-11 0:04 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-09 18:08 [PATCH 0/2] xfs: make xfs allocation workqueue per-mount, and high priority Eric Sandeen
2015-01-09 18:10 ` [PATCH 1/2] xfs: make global xfsalloc workqueue per-mount Eric Sandeen
2015-01-12 15:35 ` Brian Foster
2015-01-09 18:12 ` [PATCH 2/2] xfs: mark the xfs-alloc workqueue as high priority Eric Sandeen
2015-01-09 18:23 ` Tejun Heo
2015-01-09 20:36 ` Eric Sandeen
2015-01-10 19:28 ` Tejun Heo
2015-01-11 0:04 ` Eric Sandeen [this message]
2015-01-11 6:33 ` Tejun Heo
2015-01-12 20:09 ` Eric Sandeen
2015-01-12 22:53 ` Tejun Heo
2015-01-12 23:12 ` Eric Sandeen
2015-01-12 23:37 ` Tejun Heo
2015-01-13 19:08 ` Eric Sandeen
2015-01-13 20:19 ` Tejun Heo
2015-01-13 20:29 ` Eric Sandeen
2015-01-13 20:46 ` Tejun Heo
2015-01-13 22:58 ` Eric Sandeen
2015-01-13 23:35 ` [PATCH wq/for-3.19] workqueue: fix subtle pool management issue which can stall whole worker_pool Tejun Heo
2015-01-16 19:32 ` [PATCH workqueue wq/for-3.19-fixes] " Tejun Heo
2015-01-16 19:32 ` Tejun Heo
2015-01-19 2:15 ` Lai Jiangshan
2015-01-19 2:15 ` Lai Jiangshan
2015-01-09 23:28 ` [PATCH 2/2] xfs: mark the xfs-alloc workqueue as high priority Dave Chinner
2015-01-10 17:41 ` Tejun Heo
2015-01-12 3:30 ` Dave Chinner
2015-01-13 20:50 ` Tejun Heo
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=54B1BE0E.7020302@sandeen.net \
--to=sandeen@sandeen.net \
--cc=sandeen@redhat.com \
--cc=tj@kernel.org \
--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.