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:	Sat, 15 Aug 2009 09:51:53 -0700
From:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:	linux-kernel@...r.kernel.org
Cc:	mingo@...e.hu, laijs@...fujitsu.com, dipankar@...ibm.com,
	josht@...ux.vnet.ibm.com, akpm@...ux-foundation.org,
	mathieu.desnoyers@...ymtl.ca, dvhltc@...ibm.com, niv@...ibm.com,
	tglx@...utronix.de, peterz@...radead.org, rostedt@...dmis.org,
	hugh.dickins@...cali.co.uk, benh@...nel.crashing.org
Subject: [PATCH -tip/core/rcu 1/6] Cleanups and fixes for RCU in face of
	heavy CPU-hotplug stress

This patch set provides the following cleanups and fixes for RCU in
workloads that involve lots of CPU hotplugging.  Ingo, please reset
core/rcu to 240ebbf before applying these patches.

o	Split Hierarchical RCU initialization into boot-time and
	CPU-hotplug pieces, so that other CPUs never see the data
	structures in the act of being stitched together.

o	Introduce a cpu_notifier() that works as does the current
	hotcpu_notifier(), but also notifies during boot time even
	if !HOTPLUG_CPU.

o	Make RCU use the new cpu_notifier() to simplify hotplug code
	and reduce the number of notifiers in use.  (This also fixes
	the problem Ingo and Hugh found.)

o	Preemptable RCU had a bug due to its overly clever attempt
	to move counts from CPUs going offline.  This is "unsafe
	at any speed", so remove the cleverness.

o	Since offline CPUs now can have non-zero counts, they must
	now be included in the tracing.

o	Fix typo in preemptable RCU's rcu_irq_enter() comment
	submitted by Josh Triplett.

These pass tests combining rcutorture and continuous CPU-hotplug
operations, in other words, no sleeping between successive CPU-hotplug
operations.  This set does not fix the bug involving deadlocks through
rcutorture, kthread_stop(), and migration threads.  However, this bug
does not affect production systems, so should not stand in the way of
applying these patches.

							Thanx, Paul

 b/include/linux/cpu.h       |   18 +++++++++-----
 b/kernel/rcupdate.c         |   16 ++++++++++++-
 b/kernel/rcupreempt.c       |   25 +-------------------
 b/kernel/rcupreempt_trace.c |    6 ++--
 b/kernel/rcutree.c          |   54 ++++++++++++++++++++++++++------------------
 kernel/rcupreempt.c         |   12 +--------
 kernel/rcutree.c            |   18 ++++----------
 7 files changed, 72 insertions(+), 77 deletions(-)
--
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