public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] workqueue for v2.6.37-rc1
Date: Fri, 22 Oct 2010 10:55:43 +0200	[thread overview]
Message-ID: <4CC1518F.6080500@kernel.org> (raw)

Hello, Linus.

Please pull from the following branch to receive workqueue changes for
v2.6.37-rc1.

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

The branch contains the following notable changes.

* Fix for a subtle bug in HIGHPRI work handling where a HIGHPRI work
  can be delayed by already executing non-HIGHPRI works.

* Addition of flush[_delayed]_work_sync(), which are equivalent to
  cancel[_delayed]_work_sync() and make sure that the flushed work has
  finished execution on all CPUs on return.  This will be primarily
  used to remove flush_scheduled_work() and other workqueue flushes
  with work-specific flushes.

* Several patches removing the use of flush_scheduled_work().  There
  are also multiple patches being routed through other subsystem
  trees.  Once the syncing variants of flush_work are available in
  mainline, more will follow.  The goal is to mark
  flush_scheduled_work() deprecated in the next merge window and
  remove it and trigger WARN_ON_ONCE() on all system workqueue flushes
  in the one after that.

Pulling into the current mainline (d4429f60) generates the following
conflict in fs/gfs2/main.c.  The resolution is WQ_MEM_RECLAIM |
WQ_FREEZEABLE.

@@@ -139,9 -143,9 +143,9 @@@ static int __init init_gfs2_fs(void
  		goto fail_unregister;

  	error = -ENOMEM;
  	gfs_recovery_wq = alloc_workqueue("gfs_recovery",
- 					  WQ_NON_REENTRANT | WQ_MEM_RECLAIM, 0);
 -					  WQ_RESCUER | WQ_FREEZEABLE, 0);
++					  WQ_MEM_RECLAIM | WQ_FREEZEABLE, 0);
  	if (!gfs_recovery_wq)
  		goto fail_wq;

  	gfs2_register_debugfs();

Just in case, the merged branch is available in the following branch.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git merged

Thanks.

Tejun Heo (14):
      workqueue: implement alloc_ordered_workqueue()
      workqueue: cleanup flush/cancel functions
      workqueue: factor out start_flush_work()
      workqueue: implement flush[_delayed]_work_sync()
      workqueue: prepare for more tracepoints
      workqueue: add queue_work and activate_work trace points
      workqueue: fix HIGHPRI handling in keep_working()
      workqueue: add and use WQ_MEM_RECLAIM flag
      isdn/eicon: don't call flush_scheduled_work() from diva_os_remove_soft_isr()
      pciehp: update workqueue usage
      shpchp: update workqueue usage
      memory_hotplug: drop spurious calls to flush_scheduled_work()
      workqueue: Clarify that schedule_on_each_cpu is synchronous
      workqueue: remove in_workqueue_context()

 Documentation/workqueue.txt             |   29 ++--
 drivers/ata/libata-sff.c                |    2 +-
 drivers/isdn/hardware/eicon/divasmain.c |    2 -
 drivers/pci/hotplug/pciehp.h            |    2 +
 drivers/pci/hotplug/pciehp_core.c       |   18 ++-
 drivers/pci/hotplug/pciehp_ctrl.c       |    9 +-
 drivers/pci/hotplug/pciehp_hpc.c        |   20 +--
 drivers/pci/hotplug/shpchp.h            |    2 +
 drivers/pci/hotplug/shpchp_core.c       |   20 ++-
 drivers/pci/hotplug/shpchp_ctrl.c       |    7 +-
 drivers/pci/hotplug/shpchp_hpc.c        |   26 +---
 fs/gfs2/main.c                          |    2 +-
 fs/xfs/linux-2.6/xfs_buf.c              |    2 +-
 include/linux/workqueue.h               |   51 ++++--
 include/trace/events/workqueue.h        |   77 +++++++-
 kernel/workqueue.c                      |  310 +++++++++++++++++++------------
 mm/memory_hotplug.c                     |    2 -
 17 files changed, 363 insertions(+), 218 deletions(-)

--
tejun

                 reply	other threads:[~2010-10-22  8:56 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=4CC1518F.6080500@kernel.org \
    --to=tj@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --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