mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Phillip Lougher <phillip@lougher.demon.co.uk>
Cc: Linux Kernel Development <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alain Knaff <alain@knaff.lu>, Peter Anvin <hpa@zytor.com>
Subject: Re: [GIT PULL] Squashfs updates for 2.6.34
Date: Wed, 3 Mar 2010 19:49:24 -0800 (PST)	[thread overview]
Message-ID: <alpine.LFD.2.00.1003031925540.7046@localhost.localdomain> (raw)
In-Reply-To: <4B8F0A42.5070405@lougher.demon.co.uk>



On Thu, 4 Mar 2010, Phillip Lougher wrote:
> 
> In my defence with these patches I was trying for the best solution while
> touching as little of the mess as possible.  As that's not acceptable, I'll
> go away and try and fix some of the mess, before trying for another merge.

I know, I understand. The whole thing is messy as hell, I just don't want 
that mess to spread even more.

Let's ask Peter for help. He's been involved with that whole crazy init 
loader decompressor thing.

Peter, see the thread and my unhappiness on lkml (if you don't have any 
other archives, see for example http://lkml.org/lkml/2010/3/3/275).

That whole crazy "let's hide a crappy malloc implementation in a header 
file, and then make things depend on '#ifdef STATIC'" just makes me puke. 
And I'm sure Phillip has been gouging his eyes out too, while he was 
spreading it out into those _new_ crazy header file fragments for each 
decompressor.

So rather than have those crazy header file tricks, can we just add a 
kmalloc() _library_ file for the crazy bootloader crud, so that the 
bootloader could just share header files with the regular kernel, and not 
do that crazy thing?

It's insane having that malloc() implementation, and those STATIC games, 
in a header file, and the games we play with "error()" sometimes being a 
function pointer and sometimes being a function. Crazy, crazy.

So Phillip split up these things:

	#ifdef STATIC
	/* Code active when included from pre-boot environment: */
	#define INIT
	#else
	/* Compile for initramfs/initrd code only */
	#define INIT __init
	static void(*error)(char *m);
	#endif

and I refuse to see three new copies of that disgusting thing (bunzip, 
inflate, lzma). So I'd really _really_ want for the pre-boot environment 
to have that same __init declaration, and the _same_ indirect error() 
handler model, so that we don't have this kind of thing spreading.

It was ugly enough in <compress/mm.h> (which really should be nuked from 
orbit - it's the only way to be sure), but when I see it spreading, I go 
into full zombie-attack mode, and want to start up the chainsaw and run 
around naked.

		Linus

  reply	other threads:[~2010-03-04  3:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-01 19:41 Phillip Lougher
2010-03-03 17:08 ` Linus Torvalds
2010-03-04  1:17   ` Phillip Lougher
2010-03-04  3:49     ` Linus Torvalds [this message]
2010-03-04  4:52       ` H. Peter Anvin

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=alpine.LFD.2.00.1003031925540.7046@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=alain@knaff.lu \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillip@lougher.demon.co.uk \
    /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

Powered by JetHome