mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@bonn-fries.net>
To: Kenneth Johansson <ken@canit.se>
Cc: Ion Badulescu <ionut@cs.columbia.edu>,
	Keith Owens <kaos@ocs.com.au>,
	linux-kernel@vger.kernel.org
Subject: Re: KBuild 2.5 Impressions
Date: Fri, 31 May 2002 02:47:48 +0200	[thread overview]
Message-ID: <E17Daa5-0007iZ-00@starship> (raw)
In-Reply-To: <200205302155.g4ULtEb09500@buggy.badula.org> <E17DZCa-0007hI-00@starship> <1022803993.2799.13.camel@tiger>

On Friday 31 May 2002 02:13, Kenneth Johansson wrote:
> On Fri, 2002-05-31 at 01:19, Daniel Phillips wrote:
> > There is exactly one valid objection I've seen to kbuild 2.5 inclusion,
> > and that is the matter of breaking up the patch.  Having done a quick
> > tour through the whole patch set, I now know that there are some
> > easy places to break it up:
> > 
> >   - Documentation is a large part of the patch and can be easily
> >     broken out.
> > 
> >   - The makefile parser, complete with state transition tables etc,
> >     lexer, and so on, breaks out cleanly (sits on top of the db
> >     utilities).
> > 
> >   - Executable programs written in C.  Each one ends with a
> >     'main' function, and there is the natural division.
> > 
> >   - The remaining C code breaks out into a number of separable
> >     components:
> > 
> >       - Utilities such as environment variable parsing, canonical
> >         name generation, line reading, line editing etc.
> >       - The database 
> >       - File utilities that use the database (e.g., walk_fs_db)
> >       - Dependency generation
> >       - Global Makefile construction (command generation etc)
> > 
> >     These tend to be common to a number of the executable programs,
> >     and so have the nature of library components.  They can all go
> >     under the heading 'lib', and further breakdown is probably not
> >     necessary.
> > 
> >   - The Makefile.in patches seem to be about 30-40% of the whole
> >     thing, and imho must be applied all at the same time.  However,
> >     they break up nicely across subsystem lines (drivers, fs, etc)
> > 
> >   - The per-arch patches are already broken out, and are short.
> > 
> > I think that with these breakups done the thing would be sufficiently
> > digestible to satisfy Linus.  Now that I think of it, Linus's request
> > for a breakup is really an endorsement, and quite possibly Keith took
> > it the wrong way.  (Keith, by the way, how did I do on the structural
> > breakdown?  Sorry, I really couldn't spend as much time on it as it
> > deserves.)
> 
> Maybe I'm the idiot here but what dose this gain you??

It makes it faster to analyze.  I would have appreciated that in doing
my own analysis.  If Linus incorporated the whole thing without analyzing
its structure, I'd be worried.

The only problem would be that this kind of breakup and convenience of
applying the patch tend to be mutually exclusive.  I suppose that could
be solved with a script Keith's end - simply append all the broken-apart
pieces into one large patch (in fact, it seems that two of the tree
patches you need to apply for the i386 version would be better appended
together for the purpose of distribution.)

The question of how much work it is to do the breakup itself is separate.
In my experience, maintaining a system in a broken-up form tends to be
a major use of time.  It's something you want to do once, just before
inclusion, and that seems to be exactly what Linus has asked for.

> The reason to break up a patch is not simply to get more of them. There
> is no point in splitting if you still need to use every single one of
> them to make anything work. 

See above.  It's all about analyzing the structure of the patch.  To be
fair though, it took me less than an hour to get a pretty good idea of
how the current patch set is structured.

-- 
Daniel

  reply	other threads:[~2002-05-31  0:49 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-30  9:45 Daniel Phillips
2002-05-30 12:50 ` Martin Dalecki
2002-05-30 14:08   ` Kenneth Johansson
2002-05-30 13:28 ` Paul P Komkoff Jr
2002-05-30 21:55 ` Ion Badulescu
2002-05-30 22:29   ` Thunder from the hill
2002-05-30 23:19   ` Daniel Phillips
2002-05-31  0:09     ` David Lang
2002-05-31  0:29       ` Daniel Phillips
2002-05-31  0:32       ` Larry McVoy
2002-06-03  7:21         ` Rusty Russell
2002-05-31  0:13     ` Kenneth Johansson
2002-05-31  0:47       ` Daniel Phillips [this message]
2002-05-31  1:20         ` Skip Ford
2002-05-31  1:24           ` Daniel Phillips
2002-05-31 13:48             ` Tomas Szepe
2002-05-31 14:28               ` Nicolas Pitre
2002-05-31 15:21                 ` Thunder from the hill
     [not found]           ` <Pine.LNX.4.44.0205302129120.29405-100000@hawkeye.luckynet.adm>
2002-05-31  4:01             ` Skip Ford
2002-05-31  4:46               ` KBuild 2.5 Migration Daniel Phillips
2002-05-31  5:12                 ` Skip Ford
2002-05-31  0:48       ` KBuild 2.5 Impressions Nicolas Pitre
2002-05-31  3:29       ` Hua Zhong
2002-05-31  3:39         ` Daniel Phillips
2002-05-31  3:55         ` Thunder from the hill
2002-06-02  4:03     ` Ion Badulescu
2002-06-02  6:51       ` Daniel Phillips
2002-06-02  7:58       ` Thunder from the hill
2002-06-02 14:03         ` Sam Ravnborg
2002-06-02 14:38           ` Daniel Phillips
2002-06-02 14:56             ` Sam Ravnborg
2002-06-02 15:05               ` Thunder from the hill
2002-06-02 15:16               ` Daniel Phillips
2002-06-02 18:26                 ` Sam Ravnborg
2002-06-02 18:39                   ` Thunder from the hill
2002-06-02 18:57                     ` Ion Badulescu
2002-06-02 19:15                       ` Thunder from the hill
2002-06-03  2:04                 ` Kai Germaschewski
2002-06-02 15:47           ` Thunder from the hill
2002-06-02 11:21 ` Peter Osterlund
2002-06-02 11:37   ` Thunder from the hill
2002-06-02 11:53     ` Peter Osterlund
2002-06-02 12:03       ` Thunder from the hill
2002-06-02 12:09         ` Thunder from the hill
2002-06-02 12:51         ` Peter Osterlund
2002-06-02 14:00           ` Daniel Phillips
2002-06-03  2:49 Dan Kegel
2002-06-03  3:28 ` Linus Torvalds

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=E17Daa5-0007iZ-00@starship \
    --to=phillips@bonn-fries.net \
    --cc=ionut@cs.columbia.edu \
    --cc=kaos@ocs.com.au \
    --cc=ken@canit.se \
    --cc=linux-kernel@vger.kernel.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

all inboxes | Powered by JetHome®