lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 29 Mar 2009 01:00:26 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	"H. Peter Anvin" <hpa@...nel.org>, Sam Ravnborg <sam@...nborg.org>,
	Alexey Dobriyan <adobriyan@...il.com>,
	Jaswinder Singh Rajput <jaswinder@...nel.org>,
	x86 maintainers <x86@...nel.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [git-pull -tip] x86: include inverse Xmas tree patches


* Thomas Gleixner <tglx@...utronix.de> wrote:

> On Sun, 29 Mar 2009, Ingo Molnar wrote:
> > * Thomas Gleixner <tglx@...utronix.de> wrote:
> > 
> > > > Personally I'd prefer alphabetic order, sorting based on length 
> > > > isn't a complete ordering.  Nearly all editors can sort 
> > > > alphabetically at the push of a key.
> > > 
> > > I'd prefer if somebody would sit down and write a tool to analyse 
> > > the include hell instead of manually shuffling crap around to 
> > > avoid trivial merge conflicts. I have cleaned up enough stuff in 
> > > the x86 merger myself where I was able to cut the number of 
> > > includes at least in half just by staring at the gcc intermediate 
> > > files. We could do better and automate the analysis so we get down 
> > > to a handful of includes instead of including the world and more.
> > 
> > I do not disagree with include file cleanups (we've done many of 
> > them in this cycle and in previous cycles), but note that the 
> > reduction in include files at the top of .c files actually increases 
> > the chance of patch conflicts: when a new include file is added by 
> > two patches to the same .c file.
> 
> Those conflicts are trivial and if we have a mechanism to anlyse 
> include dependencies then we can avoid such conflicts often at 
> all.

Yeah, i agree that least 50% of the existing #include's are not 
needed.

That's not the point though. When two new files both append to the
#include file section, they'll clash. Those _new_ includes tend to 
be justified - people dont add #includes needlessly - it's years 
long bitrot that causes #includes to bloat up slowly.

> Go through some of the include madness and watch the compiler 
> reading the same header file ten times for a single source file 
> compile.

Yes, we need both efforts. That section needs to look professional 
(unordered lines look amateurishly random, arbitrary and confusing), 
and it needs to be minimalized as well.

And the xmas-tree helps the minimizing effort - as it trivially 
eliminates duplicate #includes (which do happen frequently as well), 
and they eliminate related includes as well because they get moved 
together and get noticed.

Most importantly, such code needs to look like as if someone 
actually cared about it. If code looks tidy, people assume that it's 
supposed to be perfect, and will notice and fix more subtle 
imperfections in it. If code looks totally messy on the other hand, 
_nobody_ will care because it's visibly broken. So these changes are 
a small step forward.

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ