mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Lai Jiangshan <laijs@cn.fujitsu.com>, NeilBrown <neilb@suse.de>
Subject: [GIT PULL] workqueue changes for v3.19-rc1
Date: Wed, 10 Dec 2014 11:41:19 -0500	[thread overview]
Message-ID: <20141210164119.GC6294@htj.dyndns.org> (raw)

Hello,

Work items which may be involved in memory reclaim path may be
executed by the rescuer under memory pressure.  When a rescuer gets
activated, it processes whatever are on the pending list and then goes
back to sleep until the manager kicks it again which involves 100ms
delay.  This is problematic for self-requeueing work items or the ones
running on ordered workqueues as there always is only one work item on
the pending list when the rescuer kicks in.  The execution of that
work item produces more to execute but the rescuer won't see them
until after the said 100ms has passed, so such workqueues would only
execute one work item every 100ms under prolonged memory pressure,
which BTW may be being prolonged due to the slow execution.

Neil wrote up a patch which fixes this issue by keeping the rescuer
working as long as the target workqueue is busy but doesn't have
enough workers.

Thanks.

The following changes since commit cac7f2429872d3733dc3f9915857b1691da2eb2f:

  Linux 3.18-rc2 (2014-10-26 16:48:41 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-3.19

for you to fetch changes up to 008847f66c38712f2819cd956969519006ebc11d:

  workqueue: allow rescuer thread to do more work. (2014-12-08 12:39:16 -0500)

----------------------------------------------------------------
NeilBrown (1):
      workqueue: allow rescuer thread to do more work.

Tejun Heo (2):
      workqueue: cosmetic update in rescuer_thread()
      workqueue: invert the order between pool->lock and wq_mayday_lock

 kernel/workqueue.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

-- 
tejun

                 reply	other threads:[~2014-12-10 16:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20141210164119.GC6294@htj.dyndns.org \
    --to=tj@kernel.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=torvalds@linux-foundation.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

all inboxes | Powered by JetHome®