lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 20 Nov 2009 13:46:28 +0900
From:	Tejun Heo <tj@...nel.org>
To:	torvalds@...ux-foundation.org, awalls@...ix.net,
	linux-kernel@...r.kernel.org, jeff@...zik.org, mingo@...e.hu,
	akpm@...ux-foundation.org, jens.axboe@...cle.com,
	rusty@...tcorp.com.au, cl@...ux-foundation.org,
	dhowells@...hat.com, arjan@...ux.intel.com, avi@...hat.com,
	peterz@...radead.org, johannes@...solutions.net
Subject: [PATCHSET] workqueue: prepare for concurrency managed workqueue, take#2

Hello, all.

This patchset is the second take of prep-for-concurrent-managed-wq
patchset.  Changes from the last take[L] are

* sched_notifier implementation redone such that it's more similar to
  preempt_notifier and activate/deactivate ops are replaced with
  wakeup/sleep.

  I thought about doing state based callback[s] - three callbacks for
  the three states - run, ready, sleep but it makes things more
  complicated for the caller and there are only four transition edges
  among the states anyway.

  Another alternative to the current wakeup/sleep/in/out would be
  wakeup/sleep/run/preempted where the only difference would be
  preempted is not called after sleep is called while out is called
  even after sleep is called.  Either is not much better than the
  other and the current use case fits in/out better, so I left it as
  was.

* cpu_populated_map is killed but single thread implementation is now
  left largely unchanged.  I'll follow up with further patches on
  this.

* force_cpus_allowed_ptr() renamed to force_cpus_allowed().

* Locking bug in introduce-worker fixed.

This patchset contains the following patches.

0001-sched-kvm-fix-race-condition-involving-sched_in_pree.patch
0002-workqueue-Add-debugobjects-support.patch
0003-sched-rename-preempt_notifier-to-sched_notifier-and-.patch
0004-sched-update-sched_notifier-and-add-wakeup-sleep-not.patch
0005-sched-implement-sched_notifier_wake_up_process.patch
0006-scheduler-implement-force_cpus_allowed.patch
0007-acpi-use-queue_work_on-instead-of-binding-workqueue-.patch
0008-stop_machine-reimplement-without-using-workqueue.patch
0009-workqueue-misc-cosmetic-updates.patch
0010-workqueue-merge-feature-parametesr-into-flags.patch
0011-workqueue-update-cwq-alignement-and-make-one-more-fl.patch
0012-workqueue-define-both-bit-position-and-mask-for-work.patch
0013-workqueue-separate-out-process_one_work.patch
0014-workqueue-temporarily-disable-workqueue-tracing.patch
0015-workqueue-kill-cpu_populated_map.patch
0016-workqueue-reimplement-workqueue-flushing-using-color.patch
0017-workqueue-introduce-worker.patch
0018-workqueue-reimplement-work-flushing-using-linked-wor.patch
0019-workqueue-reimplement-workqueue-freeze-using-cwq-fro.patch

If there's no objection (especially the scheduler notifier part), I
want to push the patches into linux-next and wait a while before
pushing concurrency managed workqueue.  This prep patchset already
contains a lot of changes so I think it would be helpful to verify
things are okay at this point.

This patchset is available in the following git tree.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-wq-prep

Please note that the above tree is temporary.  It needs to be rebased
once the fix patches appear upstream.

This patchset contains the following changes.

 arch/ia64/kvm/Kconfig        |    1 
 arch/powerpc/kvm/Kconfig     |    1 
 arch/s390/kvm/Kconfig        |    1 
 arch/x86/kernel/smpboot.c    |    4 
 arch/x86/kvm/Kconfig         |    1 
 drivers/acpi/osl.c           |   41 -
 include/linux/kvm_host.h     |    4 
 include/linux/preempt.h      |   43 -
 include/linux/sched.h        |   58 +
 include/linux/stop_machine.h |    6 
 include/linux/workqueue.h    |  110 ++-
 init/Kconfig                 |    4 
 init/main.c                  |    2 
 kernel/power/process.c       |   22 
 kernel/sched.c               |  194 +++---
 kernel/stop_machine.c        |  151 +++-
 kernel/trace/Kconfig         |    4 
 kernel/workqueue.c           | 1362 +++++++++++++++++++++++++++++++++----------
 lib/Kconfig.debug            |    8 
 virt/kvm/kvm_main.c          |   28 
 20 files changed, 1507 insertions(+), 538 deletions(-)

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.kernel/914545
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ