public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Leon Woestenberg <leon.woestenberg@gmail.com>,
	Embedded Linux mailing list <linux-embedded@vger.kernel.org>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Sam Ravnborg <sam@ravnborg.org>
Subject: Re: PATCH [0/3]: Simplify the kernel build by removing perl.
Date: Sat, 3 Jan 2009 20:06:47 -0600	[thread overview]
Message-ID: <200901032006.47652.rob@landley.net> (raw)
In-Reply-To: <495FEEAF.5020005@zytor.com>

On Saturday 03 January 2009 17:03:11 H. Peter Anvin wrote:
> Leon Woestenberg wrote:
> > I agree with Rob that the amount of required dependencies should be
> > kept to a minimum.
> >
> > If we only use 0.5% of a certain language (or: dependent package),
> > then rather implement that 0.5% in the existing language.
> >
> > Dependencies very quickly become dependency hell. If A requires B,
> > then A also inherits all (future) requirements of B, etc. etc.
> >
> > In my daily software development work with Linux and GNU software in
> > general, 10% of it is spent fighting/removing these extremely "thin"
> > or false depencies, so that it is usuable in embedded devices.
>
> First of all, I largely consider this a joke.

Yes, I've noticed this.  The fact multiple other people do _not_ consider this 
a joke doesn't seem to have sunk in yet.

> All real-life embedded
> kernel builds take place on hosted platforms; anything else seems to be
> done "just because it can be done", as a kind of show-off art project.
> Cute, but hardly worth impeding the rest of the kernel community for.
>
> We're not talking about general platform dependencies here, but build
> dependencies for the kernel.  A platform that can build the kernel is
> not a small platform.

The kernel didn't need perl to build until 2.6.25.  For 17 years, this 
dependency was not required.  You added it, in a way that affected even 
"allnoconfig", for no obvious gain.

> Second of all, these patches are not fullworthy replacements.  The
> original patch using bc had less dependencies, but bc failed on some
> platforms, mysteriously.

So rather than debugging it, you rewrote it in perl.  Much less potential 
mysterious behavior there.

> The new patches have *more* environmental
> dependencies than that ever did.

Could you please be a little more specific?

> Third, if someone actually cares to do it right, I have a smallish
> bignum library at http://git.zytor.com/?p=lib/pbn.git;a=summary that
> might be a starting point.

This doesn't _need_ bignum support.  It maxes out around 72 bits and the 
_result_ can't use more than about $SHIFT bits because you're dividing by the 
amount you shifted, so just chop off the bottom 32 bits, do a normal 64 bit 
division on the top (it has to fit), and then do the same division on the 
appropriate shifted remainder, and combine the results.  This is easy because 
when the shift _is_ 32 bits or more, the bottom 32 bits all have to be zeroes 
so you don't even have to mask and add, just shift the remainder left 32 bits 
so you can continue the divide.

Pulling out perl isn't always a good alternative to thinking about the 
problem.

> 	-hpa

Rob

  parent reply	other threads:[~2009-01-04  2:07 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-02  8:07 PATCH [0/3]: Simplify the kernel build by removing perl Rob Landley
2009-01-02  8:13 ` [PATCH 1/3]: Replace kernel/timeconst.pl with kernel/timeconst.sh Rob Landley
2009-01-02  9:04   ` Sam Ravnborg
2009-01-02 12:00     ` Rob Landley
2009-01-02 19:33       ` H. Peter Anvin
2009-01-04  1:32         ` Rob Landley
2009-01-04  1:35           ` H. Peter Anvin
2009-01-04 12:07           ` Alan Cox
2009-01-04 18:36             ` H. Peter Anvin
2009-01-04 19:03             ` Rob Landley
2009-01-04 20:39               ` H. Peter Anvin
2009-01-05  0:59                 ` Rob Landley
2009-01-03  6:28       ` Harvey Harrison
2009-01-03 12:28   ` Ingo Oeser
2009-01-04  1:36     ` Rob Landley
2009-01-04  5:07       ` Valdis.Kletnieks
2009-01-04  6:43         ` Rob Landley
2009-01-04 22:13           ` Jamie Lokier
2009-01-05  0:15             ` Bernd Petrovitsch
2009-01-05  2:23               ` Jamie Lokier
2009-01-05 10:46                 ` Bernd Petrovitsch
2009-01-05 15:01                   ` Jamie Lokier
2009-01-05 16:18                     ` Bernd Petrovitsch
2009-01-06  0:06                     ` Rob Landley
2009-01-05 21:07                   ` Rob Landley
2009-01-05  4:50               ` Rob Landley
2009-01-05 12:29                 ` Bernd Petrovitsch
2009-01-04 21:51         ` Alejandro Mery
2009-01-04  7:15       ` Michal Jaegermann
2009-01-05  0:41   ` Ray Lee
2009-01-05  5:08     ` Rob Landley
2009-01-02  8:14 ` [PATCH 2/3]: Remove perl from make headers_install Rob Landley
2009-01-02  9:09   ` Sam Ravnborg
2009-01-02  8:15 ` [PATCH 3/3]: Convert mkcapflags.pl to mkcapflags.sh Rob Landley
2009-01-02  9:12   ` Sam Ravnborg
2009-01-02  9:26 ` PATCH [0/3]: Simplify the kernel build by removing perl Arkadiusz Miskiewicz
2009-01-02  9:49   ` Christoph Hellwig
2009-01-02 10:16     ` Alejandro Mery
2009-01-02 10:30       ` Mark Miller
2009-01-02 11:18         ` Matt Keenan
2009-01-02 10:41       ` Måns Rullgård
2009-01-15 12:59         ` Pádraig Brady
2009-01-15 18:52           ` Jamie Lokier
2009-01-15 19:45             ` Måns Rullgård
2009-01-02 11:15       ` Rob Landley
2009-01-02 11:44         ` Sam Ravnborg
2009-01-02 12:56     ` Rob Landley
2009-01-02 14:04       ` Theodore Tso
2009-01-03  3:22         ` Jamie Lokier
2009-01-04  2:23         ` Rob Landley
2009-01-02 10:02   ` Mark Miller
2009-01-02 10:03     ` Mark Miller
2009-01-02 11:13   ` Rob Landley
2009-01-02 16:04     ` Matthieu CASTET
2009-01-03 19:46       ` Rob Landley
2009-01-03 20:10         ` Sam Ravnborg
2009-01-03 20:50           ` H. Peter Anvin
2009-01-04  1:47             ` Rob Landley
2009-01-04  1:45           ` Rob Landley
2009-01-04  8:09             ` Sam Ravnborg
2009-01-04 20:19               ` Rob Landley
2009-01-04  0:44         ` Robert Hancock
2009-01-04  1:39           ` David Brownell
2009-01-04  3:05           ` Rob Landley
2009-01-04  1:32       ` Rob Landley
2009-01-02  9:50 ` Paul Mundt
2009-01-02 10:32   ` Mark Miller
2009-01-02 10:57     ` Paul Mundt
2009-01-02 12:11       ` Mark Miller
2009-01-02 12:44   ` Rob Landley
2009-01-02 17:25   ` Wookey
2009-01-02 18:01     ` Sam Ravnborg
2009-01-02 19:27       ` H. Peter Anvin
2009-01-04  1:35         ` Rob Landley
2009-01-03 19:48       ` Rob Landley
2009-01-03 14:59   ` Wolfgang Denk
2009-01-03 22:54 ` Leon Woestenberg
2009-01-03 23:03   ` H. Peter Anvin
2009-01-04  0:37     ` Leon Woestenberg
2009-01-04  2:53       ` Rob Landley
2009-01-04  3:38         ` Markus Heidelberg
2009-01-04  4:57           ` Rob Landley
2009-01-04  2:06     ` Rob Landley [this message]
2009-01-04  2:14       ` H. Peter Anvin
2009-01-04  6:29         ` Rob Landley
2009-01-15 14:32           ` Pádraig Brady
2009-01-04  2:36       ` Jamie Lokier
2009-01-04  2:39         ` H. Peter Anvin
2009-01-04  2:43           ` H. Peter Anvin
2009-01-04  3:06       ` Paul Mundt
2009-01-04 10:23         ` Leon Woestenberg
2009-01-08 13:29           ` Mike Frysinger
2009-01-11 12:45           ` Bernd Petrovitsch
2009-01-12  3:36             ` Mark A. Miller
2009-01-12  5:11               ` H. Peter Anvin
2009-01-12  5:23                 ` Mark A. Miller
2009-01-12  8:20               ` Paul Mundt
2009-01-12  9:18                 ` Mark A. Miller
2009-01-12  9:41                   ` Paul Mundt
2009-01-12 10:03                     ` Mark A. Miller
2009-01-12 10:34                       ` Paul Mundt
2009-01-12 17:56                     ` Rob Landley
2009-01-12 18:04                       ` Alan Cox
2009-01-12  8:27               ` Peter Korsgaard
2009-01-12 17:45                 ` Rob Landley
     [not found]             ` <31014a580901111928u586e2246uccf370ff941c8a01@mail.gmail.com>
2009-01-12  5:35               ` Sam Ravnborg
2009-01-12  5:50                 ` Mark A. Miller
2009-01-12 10:18                   ` Sam Ravnborg
2009-01-12 10:22                     ` Mark A. Miller
2009-01-12 10:38                     ` Paul Mundt
2009-01-14  2:51                       ` Jamie Lokier
2009-01-16  6:11                         ` Rob Landley
2009-01-16 14:54                           ` Valdis.Kletnieks
2009-01-16 21:54                             ` Rob Landley
2009-01-17  9:51                               ` Jamie Lokier
2009-01-18  1:44                                 ` Rob Landley
2009-01-04 16:22         ` Vladimir Dronnikov
2009-01-04  1:24 ` PATCH [0/3]: Simplify the kernel build by removing perl v2 Rob Landley
2009-01-04  1:27   ` PATCH [1/3]: Replace kernel/timeconst.pl with kernel/timeconst.sh (v2) Rob Landley
2009-01-04  2:48     ` David Vrabel
2009-01-04 20:21       ` Rob Landley
2009-01-04  1:28   ` PATCH [2/3]: Remove perl from make headers_install Rob Landley
2009-01-04  1:29   ` PATCH [3/3]: Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh Rob Landley

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=200901032006.47652.rob@landley.net \
    --to=rob@landley.net \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=leon.woestenberg@gmail.com \
    --cc=linux-embedded@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.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