All of lore.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 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.