[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC v3 07/13] tables.h: add linker table support



On Fri, Aug 12, 2016 at 05:51:21PM +0200, Borislav Petkov wrote:
> On Fri, Aug 12, 2016 at 05:28:05PM +0200, Luis R. Rodriguez wrote:
> > Even so, you don't link the compiled extra code so the only penalty
> > here is when compiling, nothing more. And if you are compiling typically
> > the cost here is just a few seconds.
> 
> Yeah, so let's make it clear that this is similar to COMPILE_TEST and
> people with fast machines and who don't mind building a couple more
> seconds longer, should enable it.

Sure, I'll also move it under COMPILE_TEST, and default it to n.

> You don't want to be doing bit-rotting tests on small, weak machines,
> which barely get done with the build as it is. I have a 32-bit atom
> which takes hours to build a kernel. Enabling that there is not making
> the kernel build any more fun.
> 
> > > ... or you simply don't want to have stuff which is forcibly enabled on 
> > > you even
> > > if you're never going to need it
> > > ...
> > 
> > Which seems to be the same as the reason I noted ?
> 
> No, the reason is we don't force stuff down people's throats just
> because we think we know better. Other people do that.
> 
> Instead, we help them make an informed decision by describing the
> feature as precisely as possible.
> 
> > I can remove the grumpy maintainer description :)
> 
> Yap :-)

Alright, how's this new description:

diff --git a/init/Kconfig b/init/Kconfig
index cac3f096050d..73e4890c24c4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -53,6 +53,34 @@ config CROSS_COMPILE
          need to set this unless you want the configured kernel build
          directory to select the cross-compiler automatically.
 
+config BUILD_AVOID_BITROT
+       bool "Always force building specially annotated targets"
+       default n
+       help
+         If enabled then the the special table-* Makefile targets will always
+         be forced to be compiled even if their respective CONFIG_ option has
+         been disabled, but its objects will only be linked in if the same
+         respective CONFIG_ option has been enabled. This helps avoid code
+         bit rot issues, use for these targets should be carefully considred
+         by maintainers. You can safely enable this option at the expense of
+         increasing compile time. Enabling this option helps avoid code bit
+         rot by taking advantage of the facilities provided and enabled by
+         using linker tables documented under:
+
+         include/linux/tables.h
+
+         The special targets supported are:
+
+           o table-obj-y
+           o table-lib-y
+
+         Say Y if you have a decent build machine and would like to help test
+         building code for more subsystems. Say N if you do you not have a
+         good build machine or only want to compile what you've enabled for
+         your kernel.
+
+         Enabling this option never increases the size of your kernel.
+
 config COMPILE_TEST
        bool "Compile also drivers which will not load"
        depends on !UML

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.