All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: Add "make tinyconfig" to configure the tiniest possible kernel
@ 2014-08-06 17:14 Josh Triplett
  2014-08-06 22:06 ` David Rientjes
  0 siblings, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2014-08-06 17:14 UTC (permalink / raw)
  To: akpm, torvalds, H. Peter Anvin, Ingo Molnar, Thomas Gleixner,
	x86, linux-kernel

Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
"make allnoconfig" disables every possible config option.

However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
choices exist (compression, highmem, allocator) for which a non-default
option produces a smaller kernel.

Add a "tinyconfig" target, which starts from allnoconfig and then sets
these options to configure the tiniest possible kernel.  This provides a
better baseline for embedded systems or efforts to reduce kernel size.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
---
 arch/x86/Makefile            | 6 ++++++
 arch/x86/configs/tiny.config | 5 +++++
 2 files changed, 11 insertions(+)
 create mode 100644 arch/x86/configs/tiny.config

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index c65fd96..f20abcd 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -253,6 +253,11 @@ kvmconfig:
 	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/kvm_guest.config
 	$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
 
+PHONY += tinyconfig
+tinyconfig: allnoconfig
+	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/tiny.config
+	$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
+
 define archhelp
   echo  '* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)'
   echo  '  install      - Install kernel using'
@@ -267,4 +272,5 @@ define archhelp
   echo  '                  FDARGS="..."  arguments for the booted kernel'
   echo  '                  FDINITRD=file initrd for the booted kernel'
   echo  '  kvmconfig	- Enable additional options for guest kernel support'
+  echo  '  tinyconfig   - Configure the tiniest possible kernel'
 endef
diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
new file mode 100644
index 0000000..8f0e54c
--- /dev/null
+++ b/arch/x86/configs/tiny.config
@@ -0,0 +1,5 @@
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_KERNEL_XZ=y
+CONFIG_NOHIGHMEM=y
+CONFIG_OPTIMIZE_INLINING=y
+CONFIG_SLOB=y
-- 
2.0.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 17:14 [PATCH] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
@ 2014-08-06 22:06 ` David Rientjes
  2014-08-06 22:24   ` Josh Triplett
  0 siblings, 1 reply; 21+ messages in thread
From: David Rientjes @ 2014-08-06 22:06 UTC (permalink / raw)
  To: Josh Triplett
  Cc: Andrew Morton, torvalds, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, Luis R. Rodriguez, x86, linux-kernel

On Wed, 6 Aug 2014, Josh Triplett wrote:

> Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> "make allnoconfig" disables every possible config option.
> 
> However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
> OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
> choices exist (compression, highmem, allocator) for which a non-default
> option produces a smaller kernel.
> 
> Add a "tinyconfig" target, which starts from allnoconfig and then sets
> these options to configure the tiniest possible kernel.  This provides a
> better baseline for embedded systems or efforts to reduce kernel size.
> 

I like it, the only comment that I have is that we already have a 
xenconfig patchset sitting around that adds a helper function for this 
functionality in the x86 Makefile that hasn't been merged yet.

The *config functionality is added in
http://marc.info/?l=linux-kernel&m=140233900403377

and then used in
http://marc.info/?l=linux-kernel&m=140233901403381
http://marc.info/?l=linux-kernel&m=140233904503428

and have been pending since June.  I was going to ask Luis to rebase and 
resend, but perhaps you can send the first patch along as a predecessor to 
your patch and then let tinyconfig use build-virtconfig?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 22:06 ` David Rientjes
@ 2014-08-06 22:24   ` Josh Triplett
  2014-08-06 22:30     ` [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
  2014-08-06 22:31     ` [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
  0 siblings, 2 replies; 21+ messages in thread
From: Josh Triplett @ 2014-08-06 22:24 UTC (permalink / raw)
  To: David Rientjes
  Cc: Andrew Morton, torvalds, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, Luis R. Rodriguez, x86, linux-kernel

On Wed, Aug 06, 2014 at 03:06:11PM -0700, David Rientjes wrote:
> On Wed, 6 Aug 2014, Josh Triplett wrote:
> > Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> > allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> > "make allnoconfig" disables every possible config option.
> > 
> > However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
> > OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
> > choices exist (compression, highmem, allocator) for which a non-default
> > option produces a smaller kernel.
> > 
> > Add a "tinyconfig" target, which starts from allnoconfig and then sets
> > these options to configure the tiniest possible kernel.  This provides a
> > better baseline for embedded systems or efforts to reduce kernel size.
> > 
> 
> I like it, the only comment that I have is that we already have a 
> xenconfig patchset sitting around that adds a helper function for this 
> functionality in the x86 Makefile that hasn't been merged yet.
> 
> The *config functionality is added in
> http://marc.info/?l=linux-kernel&m=140233900403377
> 
> and then used in
> http://marc.info/?l=linux-kernel&m=140233901403381
> http://marc.info/?l=linux-kernel&m=140233904503428
> 
> and have been pending since June.  I was going to ask Luis to rebase and 
> resend, but perhaps you can send the first patch along as a predecessor to 
> your patch and then let tinyconfig use build-virtconfig?

Sure, no problem.  I ended up modifying that patch a bit, but I included
a mini-changelog in it noting that I based it on Luis's patch.  Will
send a 2-patch v2 series momentarily, in response to this mail.

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper
  2014-08-06 22:24   ` Josh Triplett
@ 2014-08-06 22:30     ` Josh Triplett
  2014-08-06 22:33       ` David Rientjes
  2014-08-06 22:31     ` [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
  1 sibling, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2014-08-06 22:30 UTC (permalink / raw)
  To: akpm, torvalds, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

The new mergeconfig helper makes it easier to add other partial
configurations similar to kvmconfig.

Based on a patch by Luis R. Rodriguez <mcgrof@suse.com>.
Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>

Modified to make the helper name more general than just virtualization,
and factor out more of the common file path.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
---

Hopefully the above changelog message makes the origin of this patch
clear; it didn't seem appropriate to keep a Signed-off-by when modifying
the patch, but I wanted to preserve the credit.

 arch/x86/Makefile | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index c65fd96..1568678 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -247,11 +247,15 @@ archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
 	$(Q)$(MAKE) $(clean)=arch/x86/tools
 
+define mergeconfig
+$(if $(wildcard $(objtree)/.config),, $(error You need an existing .config for this target))
+$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/$(1).config
+$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
+endef
+
 PHONY += kvmconfig
 kvmconfig:
-	$(if $(wildcard $(objtree)/.config),, $(error You need an existing .config for this target))
-	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/kvm_guest.config
-	$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
+	$(call mergeconfig,kvm_guest)
 
 define archhelp
   echo  '* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)'
-- 
2.1.0.rc1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 22:24   ` Josh Triplett
  2014-08-06 22:30     ` [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
@ 2014-08-06 22:31     ` Josh Triplett
  2014-08-06 22:38       ` David Rientjes
  2014-08-07 16:03       ` Sam Ravnborg
  1 sibling, 2 replies; 21+ messages in thread
From: Josh Triplett @ 2014-08-06 22:31 UTC (permalink / raw)
  To: akpm, torvalds, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
"make allnoconfig" disables every possible config option.

However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
choices exist (compression, highmem, allocator) for which a non-default
option produces a smaller kernel.

Add a "tinyconfig" option, which starts from allnoconfig and then sets
these options to configure the tiniest possible kernel.  This provides a
better baseline for embedded systems or efforts to reduce kernel size.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
---

v2: Based this on Luis's helper, added in patch 1/2, which eliminates
the previously duplicated implementation from kvmconfig.

 arch/x86/Makefile            | 5 +++++
 arch/x86/configs/tiny.config | 5 +++++
 2 files changed, 10 insertions(+)
 create mode 100644 arch/x86/configs/tiny.config

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 1568678..2b5ca16 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -257,6 +257,10 @@ PHONY += kvmconfig
 kvmconfig:
 	$(call mergeconfig,kvm_guest)
 
+PHONY += tinyconfig
+tinyconfig: allnoconfig
+	$(call mergeconfig,tiny)
+
 define archhelp
   echo  '* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)'
   echo  '  install      - Install kernel using'
@@ -271,4 +275,5 @@ define archhelp
   echo  '                  FDARGS="..."  arguments for the booted kernel'
   echo  '                  FDINITRD=file initrd for the booted kernel'
   echo  '  kvmconfig	- Enable additional options for guest kernel support'
+  echo  '  tinyconfig   - Configure the tiniest possible kernel'
 endef
diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
new file mode 100644
index 0000000..8f0e54c
--- /dev/null
+++ b/arch/x86/configs/tiny.config
@@ -0,0 +1,5 @@
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_KERNEL_XZ=y
+CONFIG_NOHIGHMEM=y
+CONFIG_OPTIMIZE_INLINING=y
+CONFIG_SLOB=y
-- 
2.1.0.rc1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper
  2014-08-06 22:30     ` [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
@ 2014-08-06 22:33       ` David Rientjes
  2014-08-06 22:39         ` Josh Triplett
  0 siblings, 1 reply; 21+ messages in thread
From: David Rientjes @ 2014-08-06 22:33 UTC (permalink / raw)
  To: Josh Triplett
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, 6 Aug 2014, Josh Triplett wrote:

> The new mergeconfig helper makes it easier to add other partial
> configurations similar to kvmconfig.
> 
> Based on a patch by Luis R. Rodriguez <mcgrof@suse.com>.
> Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> 
> Modified to make the helper name more general than just virtualization,
> and factor out more of the common file path.
> 
> Signed-off-by: Josh Triplett <josh@joshtriplett.org>

For the original patch from Luis:
Suggested-by: David Rientjes <rientjes@google.com>

For this patch:
Acked-by: David Rientjes <rientjes@google.com>

Thanks for generalizing this part of the Makefile, after it's merged it 
will make Luis's set reduce down to a single change.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 22:31     ` [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
@ 2014-08-06 22:38       ` David Rientjes
  2014-08-06 22:49         ` Josh Triplett
  2014-08-07 16:03       ` Sam Ravnborg
  1 sibling, 1 reply; 21+ messages in thread
From: David Rientjes @ 2014-08-06 22:38 UTC (permalink / raw)
  To: Josh Triplett
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, 6 Aug 2014, Josh Triplett wrote:

> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 1568678..2b5ca16 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -257,6 +257,10 @@ PHONY += kvmconfig
>  kvmconfig:
>  	$(call mergeconfig,kvm_guest)
>  
> +PHONY += tinyconfig
> +tinyconfig: allnoconfig

Calling allnoconfig here makes "make tinyconfig" default to CONFIG_X86_32 
even on 64 bit platforms and the caller would need to explicitly do
"make ARCH=x86_64 tinyconfig" to avoid it.  It's not clear that this is 
intended from the documentation of tinyconfig, that tiniest == 32 bit by 
default.

> +	$(call mergeconfig,tiny)
> +
>  define archhelp
>    echo  '* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)'
>    echo  '  install      - Install kernel using'
> @@ -271,4 +275,5 @@ define archhelp
>    echo  '                  FDARGS="..."  arguments for the booted kernel'
>    echo  '                  FDINITRD=file initrd for the booted kernel'
>    echo  '  kvmconfig	- Enable additional options for guest kernel support'
> +  echo  '  tinyconfig   - Configure the tiniest possible kernel'
>  endef
> diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
> new file mode 100644
> index 0000000..8f0e54c
> --- /dev/null
> +++ b/arch/x86/configs/tiny.config
> @@ -0,0 +1,5 @@
> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> +CONFIG_KERNEL_XZ=y
> +CONFIG_NOHIGHMEM=y
> +CONFIG_OPTIMIZE_INLINING=y
> +CONFIG_SLOB=y

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper
  2014-08-06 22:33       ` David Rientjes
@ 2014-08-06 22:39         ` Josh Triplett
  2014-08-06 22:42           ` David Rientjes
  0 siblings, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2014-08-06 22:39 UTC (permalink / raw)
  To: David Rientjes
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, Aug 06, 2014 at 03:33:45PM -0700, David Rientjes wrote:
> On Wed, 6 Aug 2014, Josh Triplett wrote:
> > The new mergeconfig helper makes it easier to add other partial
> > configurations similar to kvmconfig.
> > 
> > Based on a patch by Luis R. Rodriguez <mcgrof@suse.com>.
> > Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> > 
> > Modified to make the helper name more general than just virtualization,
> > and factor out more of the common file path.
> > 
> > Signed-off-by: Josh Triplett <josh@joshtriplett.org>
> 
> For the original patch from Luis:
> Suggested-by: David Rientjes <rientjes@google.com>
> 
> For this patch:
> Acked-by: David Rientjes <rientjes@google.com>
> 
> Thanks for generalizing this part of the Makefile, after it's merged it 
> will make Luis's set reduce down to a single change.

Thank you as well for suggesting this refactoring; I should have thought
to do the same rather than copying and pasting the contents of
kvmconfig.

Should this go in via Andrew's -mm tree, or via tip for x86?

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper
  2014-08-06 22:39         ` Josh Triplett
@ 2014-08-06 22:42           ` David Rientjes
  0 siblings, 0 replies; 21+ messages in thread
From: David Rientjes @ 2014-08-06 22:42 UTC (permalink / raw)
  To: Josh Triplett
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, 6 Aug 2014, Josh Triplett wrote:

> > > The new mergeconfig helper makes it easier to add other partial
> > > configurations similar to kvmconfig.
> > > 
> > > Based on a patch by Luis R. Rodriguez <mcgrof@suse.com>.
> > > Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
> > > 
> > > Modified to make the helper name more general than just virtualization,
> > > and factor out more of the common file path.
> > > 
> > > Signed-off-by: Josh Triplett <josh@joshtriplett.org>
> > 
> > For the original patch from Luis:
> > Suggested-by: David Rientjes <rientjes@google.com>
> > 
> > For this patch:
> > Acked-by: David Rientjes <rientjes@google.com>
> > 
> > Thanks for generalizing this part of the Makefile, after it's merged it 
> > will make Luis's set reduce down to a single change.
> 
> Thank you as well for suggesting this refactoring; I should have thought
> to do the same rather than copying and pasting the contents of
> kvmconfig.
> 
> Should this go in via Andrew's -mm tree, or via tip for x86?
> 

The answer could be "both", if Ingo doesn't pick it up then Andrew 
sometimes picks it up and sends them along later.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 22:38       ` David Rientjes
@ 2014-08-06 22:49         ` Josh Triplett
  2014-08-06 23:37           ` David Rientjes
  0 siblings, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2014-08-06 22:49 UTC (permalink / raw)
  To: David Rientjes
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, Aug 06, 2014 at 03:38:56PM -0700, David Rientjes wrote:
> On Wed, 6 Aug 2014, Josh Triplett wrote:
> > diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> > index 1568678..2b5ca16 100644
> > --- a/arch/x86/Makefile
> > +++ b/arch/x86/Makefile
> > @@ -257,6 +257,10 @@ PHONY += kvmconfig
> >  kvmconfig:
> >  	$(call mergeconfig,kvm_guest)
> >  
> > +PHONY += tinyconfig
> > +tinyconfig: allnoconfig
> 
> Calling allnoconfig here makes "make tinyconfig" default to CONFIG_X86_32 
> even on 64 bit platforms and the caller would need to explicitly do
> "make ARCH=x86_64 tinyconfig" to avoid it.  It's not clear that this is 
> intended from the documentation of tinyconfig, that tiniest == 32 bit by 
> default.

Calling allnoconfig was quite intentional; this is intended to be the
smallest possible configuration, and unlike kvmconfig (which modifies an
existing configuration to make it suitable for a KVM guest), this
intentionally creates a specific new configuration from scratch.

32-bit produces a far smaller kernel than 64-bit, so having that as the
default for tinyconfig seems quite appropriate.  As you showed, it's
easy enough to override it if needed.  I'd expect many potential users
of tinyconfig for embedded systems to start with tinyconfig and then
immediately use menuconfig to enable a pile of additional options.

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 22:49         ` Josh Triplett
@ 2014-08-06 23:37           ` David Rientjes
  2014-08-07  0:04             ` Josh Triplett
  0 siblings, 1 reply; 21+ messages in thread
From: David Rientjes @ 2014-08-06 23:37 UTC (permalink / raw)
  To: Josh Triplett
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, 6 Aug 2014, Josh Triplett wrote:

> On Wed, Aug 06, 2014 at 03:38:56PM -0700, David Rientjes wrote:
> > On Wed, 6 Aug 2014, Josh Triplett wrote:
> > > diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> > > index 1568678..2b5ca16 100644
> > > --- a/arch/x86/Makefile
> > > +++ b/arch/x86/Makefile
> > > @@ -257,6 +257,10 @@ PHONY += kvmconfig
> > >  kvmconfig:
> > >  	$(call mergeconfig,kvm_guest)
> > >  
> > > +PHONY += tinyconfig
> > > +tinyconfig: allnoconfig
> > 
> > Calling allnoconfig here makes "make tinyconfig" default to CONFIG_X86_32 
> > even on 64 bit platforms and the caller would need to explicitly do
> > "make ARCH=x86_64 tinyconfig" to avoid it.  It's not clear that this is 
> > intended from the documentation of tinyconfig, that tiniest == 32 bit by 
> > default.
> 
> Calling allnoconfig was quite intentional; this is intended to be the
> smallest possible configuration, and unlike kvmconfig (which modifies an
> existing configuration to make it suitable for a KVM guest), this
> intentionally creates a specific new configuration from scratch.
> 
> 32-bit produces a far smaller kernel than 64-bit, so having that as the
> default for tinyconfig seems quite appropriate.  As you showed, it's
> easy enough to override it if needed.  I'd expect many potential users
> of tinyconfig for embedded systems to start with tinyconfig and then
> immediately use menuconfig to enable a pile of additional options.
> 

In that case, any reason to make tinyconfig x86 only?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 23:37           ` David Rientjes
@ 2014-08-07  0:04             ` Josh Triplett
  0 siblings, 0 replies; 21+ messages in thread
From: Josh Triplett @ 2014-08-07  0:04 UTC (permalink / raw)
  To: David Rientjes
  Cc: akpm, torvalds, Luis R. Rodriguez, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86, linux-kernel

On Wed, Aug 06, 2014 at 04:37:54PM -0700, David Rientjes wrote:
> On Wed, 6 Aug 2014, Josh Triplett wrote:
> > On Wed, Aug 06, 2014 at 03:38:56PM -0700, David Rientjes wrote:
> > > On Wed, 6 Aug 2014, Josh Triplett wrote:
> > > > diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> > > > index 1568678..2b5ca16 100644
> > > > --- a/arch/x86/Makefile
> > > > +++ b/arch/x86/Makefile
> > > > @@ -257,6 +257,10 @@ PHONY += kvmconfig
> > > >  kvmconfig:
> > > >  	$(call mergeconfig,kvm_guest)
> > > >  
> > > > +PHONY += tinyconfig
> > > > +tinyconfig: allnoconfig
> > > 
> > > Calling allnoconfig here makes "make tinyconfig" default to CONFIG_X86_32 
> > > even on 64 bit platforms and the caller would need to explicitly do
> > > "make ARCH=x86_64 tinyconfig" to avoid it.  It's not clear that this is 
> > > intended from the documentation of tinyconfig, that tiniest == 32 bit by 
> > > default.
> > 
> > Calling allnoconfig was quite intentional; this is intended to be the
> > smallest possible configuration, and unlike kvmconfig (which modifies an
> > existing configuration to make it suitable for a KVM guest), this
> > intentionally creates a specific new configuration from scratch.
> > 
> > 32-bit produces a far smaller kernel than 64-bit, so having that as the
> > default for tinyconfig seems quite appropriate.  As you showed, it's
> > easy enough to override it if needed.  I'd expect many potential users
> > of tinyconfig for embedded systems to start with tinyconfig and then
> > immediately use menuconfig to enable a pile of additional options.
> 
> In that case, any reason to make tinyconfig x86 only?

The set of configuration options may vary by architecture.  For
instance, NOHIGHMEM only exists on x86.  So, at a minimum, different
architectures will require different versions of tiny.config.

The target itself and the common options could theoretically be shared,
but that would require splitting the configuration, and it isn't obvious
where the non-arch-specific tiny.config would live.  There doesn't
appear to be any precedent for that kind of setup; only x86 has a
configuration other than defconfigs (specifically, kvm_guest.config).  I
don't think it's likely that new targets like this will pop up often in
the future, either.

Nonetheless, I could modify scripts/kconfig/Makefile to add this target
instead, if someone has a good suggestion for where the
non-arch-specific tiny.config should live.  (kernel/configs/ ?)

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-06 22:31     ` [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
  2014-08-06 22:38       ` David Rientjes
@ 2014-08-07 16:03       ` Sam Ravnborg
  2014-08-07 19:02         ` Josh Triplett
  1 sibling, 1 reply; 21+ messages in thread
From: Sam Ravnborg @ 2014-08-07 16:03 UTC (permalink / raw)
  To: Josh Triplett
  Cc: akpm, torvalds, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

On Wed, Aug 06, 2014 at 03:31:54PM -0700, Josh Triplett wrote:
> Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> "make allnoconfig" disables every possible config option.
> 
> However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
> OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
> choices exist (compression, highmem, allocator) for which a non-default
> option produces a smaller kernel.
> 
> Add a "tinyconfig" option, which starts from allnoconfig and then sets
> these options to configure the tiniest possible kernel.  This provides a
> better baseline for embedded systems or efforts to reduce kernel size.

In general I dislike the whole approach where we introduce makefile
magic to support diverse config snippets.
Another approch where we factor out this from the MAkefile seems much leaner.

And for this specific patch then this is not x86 specific at all.
If we keep the logic in the makefiles than we should:
1) Make the infrastructure general
2) Document it
3) Find another home for the config snippets that are non-arch specific like this one

	Sam

> diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
> new file mode 100644
> index 0000000..8f0e54c
> --- /dev/null
> +++ b/arch/x86/configs/tiny.config
> @@ -0,0 +1,5 @@
> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> +CONFIG_KERNEL_XZ=y
> +CONFIG_NOHIGHMEM=y
> +CONFIG_OPTIMIZE_INLINING=y
> +CONFIG_SLOB=y
All the above are general options that apply equal to arm than to x86.

	Sam

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-07 16:03       ` Sam Ravnborg
@ 2014-08-07 19:02         ` Josh Triplett
  2014-08-07 19:38           ` Sam Ravnborg
                             ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Josh Triplett @ 2014-08-07 19:02 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: akpm, torvalds, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

On Thu, Aug 07, 2014 at 06:03:52PM +0200, Sam Ravnborg wrote:
> On Wed, Aug 06, 2014 at 03:31:54PM -0700, Josh Triplett wrote:
> > Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> > allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> > "make allnoconfig" disables every possible config option.
> > 
> > However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
> > OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
> > choices exist (compression, highmem, allocator) for which a non-default
> > option produces a smaller kernel.
> > 
> > Add a "tinyconfig" option, which starts from allnoconfig and then sets
> > these options to configure the tiniest possible kernel.  This provides a
> > better baseline for embedded systems or efforts to reduce kernel size.
> 
> In general I dislike the whole approach where we introduce makefile
> magic to support diverse config snippets.
> Another approch where we factor out this from the MAkefile seems much leaner.
> 
> And for this specific patch then this is not x86 specific at all.
> If we keep the logic in the makefiles than we should:
> 1) Make the infrastructure general
> 2) Document it
> 3) Find another home for the config snippets that are non-arch specific like this one

I'll refactor this and resubmit.

> > diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
> > new file mode 100644
> > index 0000000..8f0e54c
> > --- /dev/null
> > +++ b/arch/x86/configs/tiny.config
> > @@ -0,0 +1,5 @@
> > +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> > +CONFIG_KERNEL_XZ=y
> > +CONFIG_NOHIGHMEM=y
> > +CONFIG_OPTIMIZE_INLINING=y
> > +CONFIG_SLOB=y
> All the above are general options that apply equal to arm than to x86.

NOHIGHMEM isn't.

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-07 19:02         ` Josh Triplett
@ 2014-08-07 19:38           ` Sam Ravnborg
  2014-08-09  0:07           ` [PATCH v3 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
  2014-08-09  0:10           ` [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
  2 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2014-08-07 19:38 UTC (permalink / raw)
  To: Josh Triplett
  Cc: akpm, torvalds, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

> 
> > > diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
> > > new file mode 100644
> > > index 0000000..8f0e54c
> > > --- /dev/null
> > > +++ b/arch/x86/configs/tiny.config
> > > @@ -0,0 +1,5 @@
> > > +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> > > +CONFIG_KERNEL_XZ=y
> > > +CONFIG_NOHIGHMEM=y
> > > +CONFIG_OPTIMIZE_INLINING=y
> > > +CONFIG_SLOB=y
> > All the above are general options that apply equal to arm than to x86.
> 
> NOHIGHMEM isn't.
You are right - as it is x86 specific it should had been prefixed
with X86_ to document so.

As the symbol is only relevant for X86 it will not hurt anyone else,
so it is OK to have it.
But it would be nice to document in tiny.config that
this is a X86 specific symbol.

	Sam

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v3 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper
  2014-08-07 19:02         ` Josh Triplett
  2014-08-07 19:38           ` Sam Ravnborg
@ 2014-08-09  0:07           ` Josh Triplett
  2014-08-09  0:10           ` [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
  2 siblings, 0 replies; 21+ messages in thread
From: Josh Triplett @ 2014-08-09  0:07 UTC (permalink / raw)
  To: akpm, torvalds, Sam Ravnborg, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

The new mergeconfig helper makes it easier to add other partial
configurations similar to kvmconfig.  Architecture-independent portions
of those partial configurations should go in
kernel/configs/${name}.config, and architecture-dependent portions
should go in arch/${arch}/configs/${name}.config.

Based on a patch by Luis R. Rodriguez <mcgrof@suse.com>.
Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>

Modified to make the helper name more general than just virtualization,
support architecture-dependent and architecture-independent partial
configurations, move the helper and kvmconfig to
scripts/kconfig/Makefile, and factor out more of the common file path.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
---

Note that this leaves kvm_guest.config in arch/x86/configs/ .  A KVM
expert is welcome to follow up with a patch splitting the options in
kvm_guest.config between arch/x86/configs/ and kernel/configs/ .

 arch/x86/Makefile        |  7 -------
 scripts/kconfig/Makefile | 14 ++++++++++++++
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index c65fd96..fcc74b7 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -247,12 +247,6 @@ archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
 	$(Q)$(MAKE) $(clean)=arch/x86/tools
 
-PHONY += kvmconfig
-kvmconfig:
-	$(if $(wildcard $(objtree)/.config),, $(error You need an existing .config for this target))
-	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/kvm_guest.config
-	$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
-
 define archhelp
   echo  '* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)'
   echo  '  install      - Install kernel using'
@@ -266,5 +260,4 @@ define archhelp
   echo  '                  bzdisk/fdimage*/isoimage also accept:'
   echo  '                  FDARGS="..."  arguments for the booted kernel'
   echo  '                  FDINITRD=file initrd for the booted kernel'
-  echo  '  kvmconfig	- Enable additional options for guest kernel support'
 endef
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 9c4d241..8083b94 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -104,6 +104,19 @@ endif
 %_defconfig: $(obj)/conf
 	$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
 
+configfiles=$(wildcard $(srctree)/kernel/configs/$(1).config $(srctree)/arch/$(SRCARCH)/configs/$(1).config)
+
+define mergeconfig
+$(if $(wildcard $(objtree)/.config),, $(error You need an existing .config for this target))
+$(if $(call configfiles,$(1)),, $(error No configuration exists for this target on this architecture))
+$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(call configfiles,$(1))
+$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
+endef
+
+PHONY += kvmconfig
+kvmconfig:
+	$(call mergeconfig,kvm_guest)
+
 # Help text used by make help
 help:
 	@echo  '  config	  - Update current config utilising a line-oriented program'
@@ -124,6 +137,7 @@ help:
 	@echo  '  randconfig	  - New config with random answer to all options'
 	@echo  '  listnewconfig   - List new options'
 	@echo  '  olddefconfig	  - Same as silentoldconfig but sets new symbols to their default value'
+	@echo  '  kvmconfig	  - Enable additional options for guest kernel support'
 
 # lxdialog stuff
 check-lxdialog  := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
-- 
2.1.0.rc1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-07 19:02         ` Josh Triplett
  2014-08-07 19:38           ` Sam Ravnborg
  2014-08-09  0:07           ` [PATCH v3 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
@ 2014-08-09  0:10           ` Josh Triplett
  2014-08-09  1:22             ` Linus Torvalds
  2 siblings, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2014-08-09  0:10 UTC (permalink / raw)
  To: akpm, torvalds, Sam Ravnborg, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner, x86, linux-kernel

Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
"make allnoconfig" disables every possible config option.

However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
choices exist (compression, highmem, allocator) for which a non-default
option produces a smaller kernel.

Add a "tinyconfig" option, which starts from allnoconfig and then sets
these options to configure the tiniest possible kernel.  This provides a
better baseline for embedded systems or efforts to reduce kernel size.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
---

Any architecture with architecture-specific tinification options just
needs to create arch/${arch}/configs/tiny.config, and "make tinyconfig"
will automatically pick up those options in addition to the
architecture-independent ones in kernel/configs/tiny.config.

 arch/x86/configs/tiny.config | 1 +
 kernel/configs/tiny.config   | 4 ++++
 scripts/kconfig/Makefile     | 5 +++++
 3 files changed, 10 insertions(+)
 create mode 100644 arch/x86/configs/tiny.config
 create mode 100644 kernel/configs/tiny.config

diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config
new file mode 100644
index 0000000..4e2ecfa
--- /dev/null
+++ b/arch/x86/configs/tiny.config
@@ -0,0 +1 @@
+CONFIG_NOHIGHMEM=y
diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config
new file mode 100644
index 0000000..c2de56a
--- /dev/null
+++ b/kernel/configs/tiny.config
@@ -0,0 +1,4 @@
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_KERNEL_XZ=y
+CONFIG_OPTIMIZE_INLINING=y
+CONFIG_SLOB=y
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 8083b94..ebf40f6 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -117,6 +117,10 @@ PHONY += kvmconfig
 kvmconfig:
 	$(call mergeconfig,kvm_guest)
 
+PHONY += tinyconfig
+tinyconfig: allnoconfig
+	$(call mergeconfig,tiny)
+
 # Help text used by make help
 help:
 	@echo  '  config	  - Update current config utilising a line-oriented program'
@@ -138,6 +142,7 @@ help:
 	@echo  '  listnewconfig   - List new options'
 	@echo  '  olddefconfig	  - Same as silentoldconfig but sets new symbols to their default value'
 	@echo  '  kvmconfig	  - Enable additional options for guest kernel support'
+	@echo  '  tinyconfig	  - Configure the tiniest possible kernel'
 
 # lxdialog stuff
 check-lxdialog  := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
-- 
2.1.0.rc1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-09  0:10           ` [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
@ 2014-08-09  1:22             ` Linus Torvalds
  2014-08-11 18:15               ` josh
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2014-08-09  1:22 UTC (permalink / raw)
  To: Josh Triplett
  Cc: Andrew Morton, Sam Ravnborg, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner,
	the arch/x86 maintainers, Linux Kernel Mailing List

On Fri, Aug 8, 2014 at 5:10 PM, Josh Triplett <josh@joshtriplett.org> wrote:
> Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> "make allnoconfig" disables every possible config option.

May I suggest pushing these through the kbuild tree, rather than
(judging by the people cc'd) the x86 trees?

             Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-09  1:22             ` Linus Torvalds
@ 2014-08-11 18:15               ` josh
  2014-08-11 19:36                 ` Sam Ravnborg
  0 siblings, 1 reply; 21+ messages in thread
From: josh @ 2014-08-11 18:15 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Andrew Morton, Sam Ravnborg, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner,
	the arch/x86 maintainers, Linux Kernel Mailing List

On Fri, Aug 08, 2014 at 06:22:20PM -0700, Linus Torvalds wrote:
> On Fri, Aug 8, 2014 at 5:10 PM, Josh Triplett <josh@joshtriplett.org> wrote:
> > Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> > allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> > "make allnoconfig" disables every possible config option.
> 
> May I suggest pushing these through the kbuild tree, rather than
> (judging by the people cc'd) the x86 trees?

By all means; v3 seems sufficiently generic that it makes more sense for
both of these patches to go in through a kbuild tree, or something else
suitably general such as Andrew's tree.

Would someone mind picking it up, please?

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-11 18:15               ` josh
@ 2014-08-11 19:36                 ` Sam Ravnborg
  2014-08-15  0:55                   ` Luis R. Rodriguez
  0 siblings, 1 reply; 21+ messages in thread
From: Sam Ravnborg @ 2014-08-11 19:36 UTC (permalink / raw)
  To: josh
  Cc: Linus Torvalds, Andrew Morton, David Rientjes, Luis R. Rodriguez,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner,
	the arch/x86 maintainers, Linux Kernel Mailing List

On Mon, Aug 11, 2014 at 11:15:21AM -0700, josh@joshtriplett.org wrote:
> On Fri, Aug 08, 2014 at 06:22:20PM -0700, Linus Torvalds wrote:
> > On Fri, Aug 8, 2014 at 5:10 PM, Josh Triplett <josh@joshtriplett.org> wrote:
> > > Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> > > allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> > > "make allnoconfig" disables every possible config option.
> > 
> > May I suggest pushing these through the kbuild tree, rather than
> > (judging by the people cc'd) the x86 trees?
> 
> By all means; v3 seems sufficiently generic that it makes more sense for
> both of these patches to go in through a kbuild tree, or something else
> suitably general such as Andrew's tree.
> 
> Would someone mind picking it up, please?
I will take care that they are channeled through kbuild tree.

We are too late for this merge window so we are not in a hurry.

	Sam

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel
  2014-08-11 19:36                 ` Sam Ravnborg
@ 2014-08-15  0:55                   ` Luis R. Rodriguez
  0 siblings, 0 replies; 21+ messages in thread
From: Luis R. Rodriguez @ 2014-08-15  0:55 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: josh, Linus Torvalds, Andrew Morton, David Rientjes,
	H. Peter Anvin, Ingo Molnar, Thomas Gleixner,
	the arch/x86 maintainers, Linux Kernel Mailing List

On Mon, Aug 11, 2014 at 09:36:06PM +0200, Sam Ravnborg wrote:
> On Mon, Aug 11, 2014 at 11:15:21AM -0700, josh@joshtriplett.org wrote:
> > On Fri, Aug 08, 2014 at 06:22:20PM -0700, Linus Torvalds wrote:
> > > On Fri, Aug 8, 2014 at 5:10 PM, Josh Triplett <josh@joshtriplett.org> wrote:
> > > > Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> > > > allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> > > > "make allnoconfig" disables every possible config option.
> > > 
> > > May I suggest pushing these through the kbuild tree, rather than
> > > (judging by the people cc'd) the x86 trees?
> > 
> > By all means; v3 seems sufficiently generic that it makes more sense for
> > both of these patches to go in through a kbuild tree, or something else
> > suitably general such as Andrew's tree.
> > 
> > Would someone mind picking it up, please?
> I will take care that they are channeled through kbuild tree.
> 
> We are too late for this merge window so we are not in a hurry.

This went in with a helper which I had originally submitted to
enable xenconfig but xenconfig patch went nowhere for some reason.
What tree should I use to rebase and who should I sent this stuff
to? The last series got reviewed bug just collected dust after we
agreed on the approach.

  Luis

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2014-08-15  0:55 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-06 17:14 [PATCH] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
2014-08-06 22:06 ` David Rientjes
2014-08-06 22:24   ` Josh Triplett
2014-08-06 22:30     ` [PATCH 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
2014-08-06 22:33       ` David Rientjes
2014-08-06 22:39         ` Josh Triplett
2014-08-06 22:42           ` David Rientjes
2014-08-06 22:31     ` [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
2014-08-06 22:38       ` David Rientjes
2014-08-06 22:49         ` Josh Triplett
2014-08-06 23:37           ` David Rientjes
2014-08-07  0:04             ` Josh Triplett
2014-08-07 16:03       ` Sam Ravnborg
2014-08-07 19:02         ` Josh Triplett
2014-08-07 19:38           ` Sam Ravnborg
2014-08-09  0:07           ` [PATCH v3 1/2] x86, platform, kconfig: move kvmconfig functionality to a helper Josh Triplett
2014-08-09  0:10           ` [PATCH v3 2/2] x86: Add "make tinyconfig" to configure the tiniest possible kernel Josh Triplett
2014-08-09  1:22             ` Linus Torvalds
2014-08-11 18:15               ` josh
2014-08-11 19:36                 ` Sam Ravnborg
2014-08-15  0:55                   ` Luis R. Rodriguez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.