Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S642756AbdD1VvV (ORCPT ); Fri, 28 Apr 2017 17:51:21 -0400 Received: from mail-io0-f180.google.com ([209.85.223.180]:33878 "EHLO mail-io0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2993368AbdD1VvR (ORCPT ); Fri, 28 Apr 2017 17:51:17 -0400 Date: Fri, 28 Apr 2017 17:51:15 -0400 (EDT) From: Nicolas Pitre To: "Paul E. McKenney" cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC tip/core/rcu] Make SRCU be once again optional In-Reply-To: <20170428211546.GA23590@linux.vnet.ibm.com> Message-ID: References: <20170428211546.GA23590@linux.vnet.ibm.com> User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2249 Lines: 69 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. > > Thanx, Paul > > ------------------------------------------------------------------------ > > 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 > > 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 > >