From: Daniel Phillips <phillips@bonn-fries.net>
To: george anzinger <george@mvista.com>,
Linus Torvalds <torvalds@transmeta.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
dent@cosy.sbg.ac.at, adilger@clusterfs.com, da-x@gmx.net,
patch@luckynet.dynu.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.5.21 - list.h cleanup
Date: Tue, 11 Jun 2002 18:03:56 +0200 [thread overview]
Message-ID: <E17Ho7g-00009u-00@starship> (raw)
In-Reply-To: <Pine.LNX.4.44.0206110128130.1987-100000@home.transmeta.com> <3D060EC8.321A0D66@mvista.com>
On Tuesday 11 June 2002 16:52, george anzinger wrote:
> Linus Torvalds wrote:
> > The real #include hell comes, to a large degree, from the fact that we
> > like inline functions. Which have many wonderful properties, but they have
> > the same nasty property typedefs have: they require full type information
> > and cannot be predeclared.
> >
> > And while I'd like to avoid #include hell, I'm not willing to replace
> > inline functions with #define's to avoid it ;^p
>
> On wonders if it might be useful to split header files into
> say for example, list_d.h and list_i.h with the declarations
> in the "_d.h" and inlines in the "_i.h". Then we could move
> the "_i.h" includes to the end of the include list. Yeah, I
> know, too many includes in includes to work.
No, it does work, and it works very well. The winning strategy is to
split out heavily referenced data declarations from any dependent
function declarations, and give them their own headers, also included
from the orginal headers. The normal 'compile this header once'
mechanism makes this work smoothly and that's optimized by cpp so
compile speed impact is negigible. In many cases only the data
declaration is needed, so it's possible we might even see a slight
speedup.
The tradeoff of a few more header files (and it's only a few) against
a lot more sanity is well worth it. I demonstrated the technique in
my 'early_page' patch set, which lets you declare struct page as the
first thing in mm.h. and I suppose I should dust that off, update it
to 2.5 and submit it.
--
Daniel
next prev parent reply other threads:[~2002-06-11 16:04 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-09 11:09 [PATCH][2.5] introduce list_move macros Lightweight patch manager
2002-06-09 11:23 ` Mark Zealey
2002-06-10 14:17 ` Thunder from the hill
2002-06-09 11:48 ` OGAWA Hirofumi
2002-06-09 12:02 ` Thomas 'Dent' Mirlacher
2002-06-09 12:01 ` Russell King
2002-06-09 12:42 ` [PATCH][2.5] introduce list_move macros (revisited) Lightweight patch manager
2002-06-10 15:14 ` Dan Aloni
2002-06-10 15:28 ` [PATCH] 2.5.21 - list.h cleanup Dan Aloni
2002-06-10 15:45 ` Thunder from the hill
2002-06-10 16:37 ` Andreas Dilger
2002-06-10 16:50 ` Thomas 'Dent' Mirlacher
2002-06-10 17:02 ` Linus Torvalds
2002-06-10 17:07 ` Thomas 'Dent' Mirlacher
2002-06-10 17:21 ` Linus Torvalds
2002-06-11 8:00 ` Rusty Russell
2002-06-11 8:33 ` Linus Torvalds
2002-06-11 8:48 ` Martin Dalecki
2002-06-11 9:04 ` Martin Dalecki
2002-06-11 9:14 ` Rusty Russell
2002-06-12 19:45 ` Ingo Molnar
2002-06-13 5:51 ` Rusty Russell
2002-06-13 14:18 ` Ingo Molnar
2002-06-11 14:52 ` george anzinger
2002-06-11 16:03 ` Daniel Phillips [this message]
2002-06-12 1:10 ` Rusty Russell
2002-06-12 1:29 ` Linus Torvalds
2002-06-12 6:02 ` Rusty Russell
2002-06-12 7:11 ` Martin Dalecki
2002-06-12 7:27 ` Andrew Morton
2002-06-11 17:54 ` Gerrit Huizenga
2002-06-12 3:49 ` Rusty Russell
2002-06-12 17:30 ` Gerrit Huizenga
2002-06-10 17:26 ` Manik Raina
2002-06-10 17:51 ` Dan Aloni
2002-06-10 21:28 ` Thunder from the hill
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=E17Ho7g-00009u-00@starship \
--to=phillips@bonn-fries.net \
--cc=adilger@clusterfs.com \
--cc=da-x@gmx.net \
--cc=dent@cosy.sbg.ac.at \
--cc=george@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=patch@luckynet.dynu.com \
--cc=rusty@rustcorp.com.au \
--cc=torvalds@transmeta.com \
/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
all inboxes | Powered by JetHome®