linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: ARM defconfig files
Date: Wed, 30 Jun 2010 12:40:43 +0200	[thread overview]
Message-ID: <20100630104043.GG11746@pengutronix.de> (raw)
In-Reply-To: <20100614083214.GA2104@pengutronix.de>

Hi Linus,

I think my mail hit your inbox during your vacation.  As this is quite
important for the ARM people and there isn't much time left, can you
please comment?

Thanks in advance
Uwe

On Mon, Jun 14, 2010 at 10:32:14AM +0200, Uwe Kleine-K?nig wrote:
> Hello,
> 
> [Added linux-arm-kernel ML to Cc, note that it's moderated for
> non-subscribers.]
> 
> On Thu, Jun 03, 2010 at 11:21:59AM -0700, Linus Torvalds wrote:
> > 
> > 
> > On Thu, 3 Jun 2010, Daniel Walker wrote:
> > > 
> > > I don't see how we can do without defconfigs altogether tho. I mean , if
> > > you want to run a Beagle board or a Nexus one we can't just give the
> > > users a slim ARM config and let them troll through 1000's of drivers
> > > trying to find just those ones that work on their given board.
> > 
> > Well, you also don't need the full defconfig's with the kernel.
> > 
> > Right now they are just noise. They actually _hide_ things, because 
> > diffstat (and dirstat) information becomes pointless, and the diffs become 
> > totally unreadable by any human (trust me - when the choice is between 
> > "search for next relevant diff" or "blast it, I can't be bothered with 
> > walking through this crap", quite often the choice is the latter).
> I wrote a script that throws out all unneeded lines in all arm
> defconfigs that don't influence the resulting .config for .34 and
> .35-rc1 and compared .34<->.35-rc with .34-reduced<->.35-rc1-reduced.
> 
> Here are the results:
> 
> 	$ git diff --dirstat v2.6.34 v2.6.35-rc1 arch/arm
> 	  11.8% arch/arm/configs/
> 	  10.0% arch/arm/mach-msm/
> 	  10.8% arch/arm/mach-omap2/
> 	   4.8% arch/arm/mach-pxa/
> 	   4.5% arch/arm/mach-s5pc100/
> 	   3.3% arch/arm/mach-s5pv210/
> 	   4.4% arch/arm/mach-spear3xx/
> 	   3.1% arch/arm/mach-ux500/
> 	   5.1% arch/arm/plat-s5pc1xx/
> 	   3.1% arch/arm/plat-samsung/
> 	  38.2% arch/arm/
> 
> 	$ git diff --dirstat arm/defconfig/reduced-v2.6.34 arm/defconfig/reduced-v2.6.35-rc1 arch/arm
> 	   3.1% arch/arm/mach-davinci/
> 	  11.3% arch/arm/mach-msm/
> 	  12.2% arch/arm/mach-omap2/
> 	   5.4% arch/arm/mach-pxa/
> 	   5.1% arch/arm/mach-s5pc100/
> 	   3.7% arch/arm/mach-s5pv210/
> 	   5.0% arch/arm/mach-spear3xx/
> 	   3.5% arch/arm/mach-ux500/
> 	   5.8% arch/arm/plat-s5pc1xx/
> 	   3.5% arch/arm/plat-samsung/
> 	  40.9% arch/arm/
> 
> 	$ git diff --dirstat=0 arm/defconfig/reduced-v2.6.34 arm/defconfig/reduced-v2.6.35-rc1 arch/arm | grep config
> 	   1.1% arch/arm/configs/
> 
> 	$ git diff --shortstat v2.6.35-rc1 arm/defconfig/reduced-v2.6.35-rc1
> 	 177 files changed, 652 insertions(+), 194157 deletions(-)
> 
> (The insertions above are only moved lines I think, I didn't check them
> all.)
> 
> The branches arm/defconfig/reduced-v2.6.34 and
> arm/defconfig/reduced-v2.6.35-rc1 are available at my repo at
> git://git.pengutronix.de/git/ukl/linux-2.6.git .  (There is a gitweb at
> http://git.pengutronix.de/?p=ukl/linux-2.6.git)
> 
> So maintaining these minimal defconfigs would have reduced the defconfig
> noise from 11.8% down to 1.1%.  And probably it could be considerably
> reduced further with constructs like:
> 
> 	config HAVE_MTD_NAND_MXC
> 		bool
> 
> 	config MTD_NAND_MXC
> 		tristate "MXC NAND support"
> 		...
> 		default m if HAVE_MTD_NAND_MXC
> 		help
> 		  ...
> 
> 	...
> 	config MACH_MX27ADS
> 		...
> 		select HAVE_MTD_NAND_MXC
> 
> .  Compared with selecting everything in Kconfig files this approach
> allows further tweaking of a config.  (E.g. "I have a mx27ads machine,
> but I don't need nand support.")  Compared with the SAT-Solver it's an
> idea that works today.
> 
> One downside of this approach (when done with my script only) is that
> too much is removed.  E.g. in mx3_defconfig CONFIG_ARCH_MX3 is removed.
> This is OK from a logical POV but then changing the default of the
> corresponding choice (and I intend to do that in the near future) would
> break this defconfig.
> 
> I can share my script and I'm willing to support maintaining the
> minimality of the defconfig files if they are an acceptable (maybe
> intermediate) step for Linus.
> 
> Together with the efforts to reduce the number of defconfigs as thought
> about in other mails of this thread the situation should become quite
> better for Linus.  (I'm currently working on merging support for all
> Freescale SoCs into a single mach- directory and so merge mx1_defconfig,
> mx21_defconfig, mx27_defconfig, mx31pdk_defconfig, mx3_defconfig and
> mx51_defconfig.)
> 
> Linus: I would really appreciate if you wouldn't remove all (or nearly
> all) defconfig files.  I think you would force a quicker solution to
> this problem, but during that time the ARM community would loose compile
> coverage.
> 
> Thoughts on this?
> 
> Best regards
> Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

  reply	other threads:[~2010-06-30 10:40 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20100603074548.GA12104@flint.arm.linux.org.uk>
     [not found] ` <alpine.LFD.2.00.1006030725420.8175@i5.linux-foundation.org>
     [not found]   ` <20100603181010.GA25779@flint.arm.linux.org.uk>
     [not found]     ` <1275589230.23384.19.camel@c-dwalke-linux.qualcomm.com>
     [not found]       ` <alpine.LFD.2.00.1006031119440.8175@i5.linux-foundation.org>
2010-06-14  8:32         ` ARM defconfig files Uwe Kleine-König
2010-06-30 10:40           ` Uwe Kleine-König [this message]
2010-07-12 15:55             ` Uwe Kleine-König
2010-07-12 16:51               ` Linus Torvalds
2010-07-12 17:32                 ` Russell King - ARM Linux
2010-07-12 17:40                   ` Linus Torvalds
2010-07-12 18:50                     ` Uwe Kleine-König
2010-07-12 19:04                       ` Linus Torvalds
2010-07-12 19:17                         ` Nicolas Pitre
2010-07-12 19:34                           ` Linus Torvalds
2010-07-12 19:50                             ` Grant Likely
2010-07-13  7:07                               ` Uwe Kleine-König
2010-07-13  8:07                                 ` optimized script [Was: ARM defconfig files] Uwe Kleine-König
2010-07-13 18:04                                   ` Olof Johansson
2010-07-13 23:39                                     ` Nicolas Pitre
2010-07-13 18:32                                 ` ARM defconfig files Grant Likely
2010-07-12 19:59                             ` Uwe Kleine-König
2010-07-12 20:14                             ` Nicolas Pitre
2010-07-12 19:09                       ` Nicolas Pitre
2010-07-12 20:31                       ` Arnd Bergmann
2010-07-12 20:50                         ` Nicolas Pitre
2010-07-12 23:05                       ` David Brown
2010-07-12 23:18                         ` Linus Torvalds
2010-07-12 23:34                           ` David Brown
2010-07-13  0:55                             ` Nicolas Pitre
2010-07-14  9:13                             ` Felipe Contreras
2010-07-14 13:20                             ` Uwe Kleine-König
2010-07-14 17:37                               ` Tony Luck
2010-07-13 18:32                           ` Rob Landley
2010-07-12 20:06                     ` Russell King - ARM Linux
2010-07-12 20:29                       ` Nicolas Pitre
2010-07-12 21:54                         ` Linus Torvalds
2010-07-14  9:21                       ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100630104043.GG11746@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).