From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752901AbdGXVvu (ORCPT ); Mon, 24 Jul 2017 17:51:50 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:46159 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753569AbdGXVvn (ORCPT ); Mon, 24 Jul 2017 17:51:43 -0400 Date: Mon, 24 Jul 2017 14:51:39 -0700 From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org Cc: mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, fweisbec@gmail.com, oleg@redhat.com Subject: [PATCH tip/core/rcu 0/12] CPU-hotplug updates Reply-To: paulmck@linux.vnet.ibm.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 17072421-0036-0000-0000-0000024E0F3C X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007419; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00892375; UDB=6.00446023; IPR=6.00672539; BA=6.00005489; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016356; XFM=3.00000015; UTC=2017-07-24 21:51:40 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17072421-0037-0000-0000-00004134A3B3 Message-Id: <20170724215139.GA10881@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-24_13:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707240334 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello! This series updates RCU's interaction with CPU hotplug, perhaps most notably making callback migration happen very shortly after the outgoing CPU is gone. 1. Make expedited GPs correctly handle hardware CPU insertion. 2. Migrate callbacks earlier in the CPU-offline timeline. 3. Fix typo suppressing CPU-hotplug statistics. 4. Remove orphan/adopt event-tracing fields. 5. Check for NOCB CPUs and empty lists earlier in CB migration. 6. Make NOCB CPUs migrate CBs directly from outgoing CPU. 7. Advance outgoing CPU's callbacks before migrating them. 8. Eliminate rcu_state ->orphan_lock. 9. Advance callbacks after migration. 10. Localize rcu_state ->orphan_pend and ->orphan_done. 11. Remove unused RCU list functions. 12. Move callback-list warning to irq-disable region, thus suppressing rare but real false-positive dmesg splats. Thanx, Paul ------------------------------------------------------------------------ include/linux/rcupdate.h | 1 kernel/cpu.c | 1 kernel/rcu/rcu_segcblist.c | 108 +++----------- kernel/rcu/rcu_segcblist.h | 28 --- kernel/rcu/tree.c | 342 +++++++++++++++++++-------------------------- kernel/rcu/tree.h | 13 - kernel/rcu/tree_exp.h | 2 kernel/rcu/tree_plugin.h | 31 +--- kernel/torture.c | 2 9 files changed, 189 insertions(+), 339 deletions(-)