From: Ingo Molnar <mingo@elte.hu>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
kvm-devel@lists.sourceforge.net, netdev <netdev@vger.kernel.org>
Subject: Re: [kvm-devel] QEMU PIC indirection patch for in-kernel APIC work
Date: Fri, 6 Apr 2007 12:37:46 +0200 [thread overview]
Message-ID: <20070406103746.GA24596@elte.hu> (raw)
In-Reply-To: <4615086C.9060306@us.ibm.com>
* Anthony Liguori <aliguori@us.ibm.com> wrote:
> [...] Did Linux have extremely high quality code in 1994?
yes! It was crutial to strive for extremely high quality code all the
time. That was the only way to grow Linux's codebase, which was ~300,000
lines of code in 1994, to the current 7.2+ million lines of code,
without losing maintainability. Code quality is more important than any
feature. 99% of feature patches sent to lkml get rejected in the first
review round on quality/design grounds, it always takes at least a
couple of iterations to make it nice and clean. Look at Apache, it's
evolving along the same lines. Or Samba. Or any of the really large and
important OSS projects. (even X, after years of struggle and stagnation,
seems to have gotten this point now.) In the past 10 years the OSS
community wrote more than 1 billion lines of new code (!), and all the
successful projects have a clean codebase. _It cannot be done any other
way_, because cleanliness and pride over good code is what keeps
developers and it is what attracts new developers.
now this doesnt mean that Linux's code quality is good in every spot -
it's an eternal fight. But the core subsystems are pretty damn clean.
When i prepare patches for the Linux kernel more than 50% of the work i
do is related to making the changes clean, or cleaning up some existing
aspect of the kernel that the new code triggers. Often it's 90% of the
work!
the 'get functionality now, clean up later' mentality is what leads to
throwaway, use-once codebases that the majority of closed-source
projects do. Once the cruft level reaches a certain threshold it's
cheaper to just throw away old code and just rewrite the whole thing
(users and costs be damned). Cleanups must not be an afterthought, code
cleanliness and gradual code evolution is _the_ most valuable property
of OSS codebases.
i guess my negative Qemu experience is dominated by my recent failure of
trying to untangle its timer code, so that qemu properly adopts to
changes in PIT/lapic programming and maps that correctly to OS timers.
(so that a dynticks/NO_HZ guest's reduced irq rate becomes visible on
the host too) I'll be a happy camper if that's fixed ;-)
Ingo
next prev parent reply other threads:[~2007-04-06 10:38 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-02 11:46 QEMU PIC indirection patch for in-kernel APIC work Gregory Haskins
[not found] ` <4610A6A9.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 6:53 ` Avi Kivity
[not found] ` <46134B74.1080004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 14:20 ` Anthony Liguori
[not found] ` <4613B438.60107-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 14:39 ` Avi Kivity
[not found] ` <4613B89F.8090806-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 14:55 ` Anthony Liguori
[not found] ` <4613BC6B.1070708-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 15:06 ` Avi Kivity
[not found] ` <4613BF07.50606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 15:36 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B9580-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 15:47 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B318E96-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-04 15:53 ` Anthony Liguori
[not found] ` <4613C9EE.5030600-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:05 ` Avi Kivity
[not found] ` <4613CCD1.2070702-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:20 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B962E-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 16:27 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B318EDB-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-04 16:43 ` Anthony Liguori
[not found] ` <4613D596.7080201-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:54 ` Avi Kivity
2007-04-04 16:32 ` Avi Kivity
[not found] ` <4613D30E.7030905-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:48 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B96AA-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 16:58 ` Avi Kivity
[not found] ` <4613D93A.5020902-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 17:09 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B970D-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 21:33 ` Dor Laor
2007-04-04 18:12 ` Anthony Liguori
2007-04-04 15:51 ` Anthony Liguori
[not found] ` <4613C993.9020405-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:02 ` Avi Kivity
[not found] ` <4613CC01.1090500-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:09 ` Anthony Liguori
[not found] ` <4613CDB2.4000903-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:19 ` Avi Kivity
[not found] ` <4613D001.3040606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 20:01 ` Ingo Molnar
[not found] ` <20070404200112.GA6070-X9Un+BFzKDI@public.gmane.org>
2007-04-04 20:24 ` Anthony Liguori
[not found] ` <4614098F.2030307-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-04-04 21:21 ` Ingo Molnar
2007-04-04 23:19 ` [kvm-devel] " Rusty Russell
2007-04-05 7:17 ` Avi Kivity
2007-04-06 1:02 ` Rusty Russell
2007-04-08 5:36 ` Avi Kivity
[not found] ` <46187F4E.1080807-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-08 9:04 ` Muli Ben-Yehuda
2007-04-09 2:50 ` Rusty Russell
[not found] ` <1176087018.11664.65.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-09 7:10 ` Avi Kivity
[not found] ` <4619E6DC.3010804-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-09 9:46 ` Rusty Russell
[not found] ` <1176111984.11664.90.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-09 13:38 ` Avi Kivity
[not found] ` <461A41CA.9080201-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 8:07 ` Evgeniy Polyakov
2007-04-10 8:19 ` [kvm-devel] " Avi Kivity
[not found] ` <461B48A8.1060904-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 8:58 ` Evgeniy Polyakov
2007-04-10 11:21 ` [kvm-devel] " Avi Kivity
[not found] ` <461B7334.8090807-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 11:50 ` Evgeniy Polyakov
2007-04-10 12:17 ` [kvm-devel] " Avi Kivity
[not found] ` <461B8069.6070007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 12:30 ` Evgeniy Polyakov
[not found] ` <20070410123034.GA11493-9fLWQ3dKdXwox3rIn2DAYQ@public.gmane.org>
2007-04-10 12:49 ` Avi Kivity
2007-04-11 3:53 ` [kvm-devel] " Rusty Russell
[not found] ` <1176263593.26372.84.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-11 4:26 ` Avi Kivity
[not found] ` <461C6360.1060908-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-11 13:23 ` Rusty Russell
[not found] ` <1176297794.14322.72.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-11 14:28 ` Avi Kivity
[not found] ` <461CF098.3090003-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-11 23:30 ` Rusty Russell
[not found] ` <1176334200.14322.133.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-12 3:32 ` Avi Kivity
2007-04-16 0:22 ` [kvm-devel] " Rusty Russell
2007-04-16 5:13 ` Avi Kivity
[not found] ` <1175728768.12230.593.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-05 9:30 ` Ingo Molnar
[not found] ` <20070405093033.GC25448-X9Un+BFzKDI@public.gmane.org>
2007-04-05 9:58 ` Avi Kivity
2007-04-05 10:26 ` [kvm-devel] " Ingo Molnar
2007-04-05 11:26 ` Avi Kivity
[not found] ` <4614DCE1.70905-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 11:36 ` Ingo Molnar
2007-04-06 1:16 ` [kvm-devel] " Rusty Russell
2007-04-06 18:59 ` Ingo Molnar
2007-04-05 10:55 ` Ingo Molnar
2007-04-05 14:32 ` [kvm-devel] " Anthony Liguori
2007-04-06 10:37 ` Ingo Molnar [this message]
2007-04-06 11:07 ` Ingo Molnar
2007-04-04 22:07 ` Dor Laor
2007-04-05 6:54 ` Avi Kivity
2007-04-05 6:40 ` Avi Kivity
2007-04-04 16:23 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B318ED4-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-04 16:48 ` Anthony Liguori
[not found] ` <4613D6CD.6060209-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 20:07 ` Ingo Molnar
2007-04-05 13:50 ` Dong, Eddie
[not found] ` <0E6FE5D295DE5B4B8D9070C26A227987E0D1EC-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-05 13:59 ` Avi Kivity
[not found] ` <461500B5.4080102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 14:52 ` Dong, Eddie
[not found] ` <0E6FE5D295DE5B4B8D9070C26A227987F2444B-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-05 15:01 ` Avi Kivity
[not found] ` <46150F4F.4030505-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 15:16 ` Dong, Eddie
[not found] ` <0E6FE5D295DE5B4B8D9070C26A227987F24452-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-05 15:26 ` Anthony Liguori
2007-04-05 15:22 ` Anthony Liguori
2007-04-05 14:41 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B319509-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-05 14:48 ` Dong, Eddie
2007-04-05 14:57 ` Dong, Eddie
2007-04-04 17:51 ` Gregory Haskins
[not found] ` <46139F39.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 18:19 ` Anthony Liguori
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=20070406103746.GA24596@elte.hu \
--to=mingo@elte.hu \
--cc=aliguori@us.ibm.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=netdev@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.