public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <ak@suse.de>
Cc: john stultz <johnstul@us.ibm.com>,
	Darren Hart <dvhltc@us.ibm.com>,
	Nishanth Aravamudan <nacc@us.ibm.com>,
	Frank Sorenson <frank@tuxrocks.com>,
	George Anzinger <george@mvista.com>,
	Roman Zippel <zippel@linux-m68k.org>,
	Ulrich Windl <ulrich.windl@rz.uni-regensburg.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/13] Time: Generic Timeofday Subsystem (v B10)
Date: Mon, 14 Nov 2005 19:23:41 +0100	[thread overview]
Message-ID: <20051114182341.GA28410@elte.hu> (raw)
In-Reply-To: <200511131153.25978.ak@suse.de>


* Andi Kleen <ak@suse.de> wrote:

> My point was basically that there is a lot of feature work going on on 
> x86-64 in this area, and that has priority over any "cleanups" like 
> this from my side. [...]

i think we are in agreement mostly, but this approach of yours is just 
... totally wrong. We are seeing an exponential increase in the 'cost' 
of new time features because they are being built ontop of a naive base 
that did not anticipate them. HRT was 'coming soon' for how many years - 
eight?

just take a look at all the VFS work Al Viro has done and is doing. 90% 
"cleanups", in preparation of a small 1000-line (or smaller) real 
feature thing. If it were done the other way around, we'd still be at 
5-10 poorly integrated filesystems and a poor VFS landscape - not at the 
current 50+ filesystems supported by the best VFS on this planet ...

or just take a look at all the work Jens Axboe & co has done in the past 
2 years, resurrecting the block IO code from the grave. Jens started at 
the basics (replacing bhs with bio's), cleaning up the mess at its root.  
Had they started adding pluggable IO schedulers and IO barriers as the 
_first_ step, the block IO layer would still be a pain point, instead of 
a poster-child.

i could go on with other examples. Networking. Firewall code. The MM.  
Driver architecture - and more. x86_64 did get rid of lots of i386 
legacies as well, so you are doing it too. Today's cleanliness is the 
basis for tomorrow's features, not the other way around. New features 
_always_ deform the code's internal structure, and if piled upon each 
other without cleanups inbetween then they form a massive, hard to 
change and hard to maintain chunk of spaghetti. The time code has been 
long overdue for a massive cleanup.

the Linux CPU architecture code is currently where the VFS was 5 years 
ago. Lots of consolidation work was done in the past 1-2 years, but both 
i386 and x86_64 still have at least 30% of code bloat that does not 
truly belong into architecture code. Now we have 25 main architectures, 
and every unnecessary unit of complexity gets multiplied by 25!  
Suggesting that generalization, common code and cleanups have a lower 
priority than features is really ignoring history and common sense.

	Ingo

  parent reply	other threads:[~2005-11-14 18:23 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-12  4:48 [PATCH 0/13] Time: Generic Timeofday Subsystem (v B10) john stultz
2005-11-12  4:48 ` [PATCH 1/13] Time: Reduced NTP rework (part 1) john stultz
2005-11-12  4:49 ` [PATCH 2/13] Time: Reduced NTP Rework (part 2) john stultz
2005-11-12  4:49 ` [PATCH 3/13] Time: Clocksource Infrastructure john stultz
2005-11-12  4:49 ` [PATCH 4/13] Time: Generic Timekeeping Infrastructure john stultz
2005-11-12  4:49 ` [PATCH 5/13] Time: i386 Conversion - part 1: Move timer_pit.c to i8253.c john stultz
2005-11-12  4:49 ` [PATCH 6/13] Time: i386 Conversion - part 2: Move timer_tsc.c to tsc.c john stultz
2005-11-12  4:49 ` [PATCH 7/13] Time: i386 Conversion - part 3: Rework TSC Support john stultz
2005-11-12  4:49 ` [PATCH 8/13] Time: i386 Conversion - part 4: ACPI PM variable renaming john stultz
2005-11-12  4:49 ` [PATCH 9/13] Time: i386 Conversion - part 5: Enable Generic Timekeeping john stultz
2005-11-12  4:49 ` [PATCH 10/13] Time: i386 Conversion - part 6: Remove Old Code john stultz
2005-11-12  4:50 ` [PATCH 11/13] Time: x86-64 Conversion to Generic Timekeeping john stultz
2005-11-12  4:50 ` [PATCH 12/13] Time: i386/x86-64 Clocksource Drivers john stultz
2005-11-12  4:50 ` [PATCH 13/13] Time: Generic Timekeeping Paraniod Debug Patch john stultz
2005-11-13  1:24 ` [PATCH 0/13] Time: Generic Timeofday Subsystem (v B10) Andi Kleen
2005-11-13  2:34   ` john stultz
2005-11-13  7:32   ` Ingo Molnar
2005-11-13 10:53     ` Andi Kleen
2005-11-14 17:41       ` john stultz
2005-11-14 18:23       ` Ingo Molnar [this message]
2005-11-14 21:22 ` Frank Sorenson
2005-11-14 21:38   ` john stultz
2005-11-14 21:53     ` Frank Sorenson
2005-11-14 22:02       ` john stultz
2005-11-14 23:07         ` Frank Sorenson
2005-11-14 23:25           ` john stultz
2005-11-15  5:04             ` Frank Sorenson
2005-11-15 19:53               ` john stultz
2005-11-15 20:53                 ` Ingo Molnar
2005-11-15 21:04                   ` john stultz

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=20051114182341.GA28410@elte.hu \
    --to=mingo@elte.hu \
    --cc=ak@suse.de \
    --cc=dvhltc@us.ibm.com \
    --cc=frank@tuxrocks.com \
    --cc=george@mvista.com \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nacc@us.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=ulrich.windl@rz.uni-regensburg.de \
    --cc=zippel@linux-m68k.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