Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1165353AbdD2AKx (ORCPT ); Fri, 28 Apr 2017 20:10:53 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:52378 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755617AbdD2AKr (ORCPT ); Fri, 28 Apr 2017 20:10:47 -0400 Date: Fri, 28 Apr 2017 17:10:40 -0700 From: "Paul E. McKenney" To: Nicolas Pitre Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC tip/core/rcu] Make SRCU be once again optional Reply-To: paulmck@linux.vnet.ibm.com References: <20170428211546.GA23590@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 17042900-0040-0000-0000-0000032A452A X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00006991; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000208; SDB=6.00853802; UDB=6.00422243; IPR=6.00632745; BA=6.00005316; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00015230; XFM=3.00000014; UTC=2017-04-29 00:10:39 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17042900-0041-0000-0000-0000071E61D7 Message-Id: <20170429001040.GH3956@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-28_16:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1704290000 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2582 Lines: 73 On Fri, Apr 28, 2017 at 05:51:15PM -0400, Nicolas Pitre wrote: > On Fri, 28 Apr 2017, Paul E. McKenney wrote: > > > Hello, Nicolas! > > > > Saw the TTY write up LWN and figured I should send this your way. > > It should be worth about 2K compared to current -next, which gave > > up the 2K compared to v4.10. So really getting things back to where > > they were. > > > > My current plan is to push this into v4.13. > > Excellent! > > If every maintainer finds a way to (optionally) reduce the size of the > code they maintain by 2K then we'll get a much smaller kernel pretty > soon. I would feel better if it wasn't me who had added the 2K, but then again, I do look forward to seeing a negative-sized kernel! ;-) > > ------------------------------------------------------------------------ > > > > commit e01ef0529ed548c1b30206058c2b5eecbbc07998 > > Author: Paul E. McKenney > > Date: Fri Apr 28 13:53:04 2017 -0700 > > > > srcu: Make SRCU be once again optional > > > > Commit d160a727c40e ("srcu: Make SRCU be built by default") in response > > to build errors, which were caused by code that included srcu.h > > despite !SRCU. However, srcutiny.o is almost 2K of code, which is not > > insignificant for those attempting to run the Linux kernel on IoT devices. > > This commit therefore makes SRCU be once again optional, and adjusts > > srcu.h to allow error-free inclusion in !SRCU kernel builds. > > > > Signed-off-by: Paul E. McKenney > > Cc: Nicolas Pitre > > Acked-by: Nicolas Pitre Applied, thank you! Thanx, Paul > > diff --git a/include/linux/srcu.h b/include/linux/srcu.h > > index 167ad8831aaf..c0143fe2e39d 100644 > > --- a/include/linux/srcu.h > > +++ b/include/linux/srcu.h > > @@ -62,7 +62,7 @@ int init_srcu_struct(struct srcu_struct *sp); > > #include > > #elif defined(CONFIG_CLASSIC_SRCU) > > #include > > -#else > > +#elif defined(CONFIG_SRCU) > > #error "Unknown SRCU implementation specified to kernel configuration" > > #endif > > > > diff --git a/init/Kconfig b/init/Kconfig > > index 42a346b0df43..fe72c12e06a5 100644 > > --- a/init/Kconfig > > +++ b/init/Kconfig > > @@ -521,7 +521,6 @@ config RCU_EXPERT > > > > config SRCU > > bool > > - default y > > help > > This option selects the sleepable version of RCU. This version > > permits arbitrary sleeping or blocking within RCU read-side critical > > > > >