From: Ingo Molnar <mingo@elte.hu>
To: Bj?rn Steinbrink <B.Steinbrink@gmx.de>
Cc: Al Viro <viro@ZenIV.linux.org.uk>,
Harvey Harrison <harvey.harrison@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
LKML <linux-kernel@vger.kernel.org>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Subject: Re: [PATCH] x86: !x & y typo in mtrr code
Date: Wed, 30 Apr 2008 11:32:33 +0200 [thread overview]
Message-ID: <20080430093233.GD23528@elte.hu> (raw)
In-Reply-To: <20080430064603.GA3602@atjola.homenet>
* Bj?rn Steinbrink <B.Steinbrink@gmx.de> wrote:
> > firstly, it _was_ caught via Sparse, ...
>
> But that is exactly Al's point. Had you run sparse over your tree
> _before_ it got pulled by Linus, that bug should have never made it
> into mainline.
It is clear from your argument that you have never attempted to do this
yourself for any significant size of code. Sparse output is way too
verbose, the false positive rate is well above 50% and way too few
subsystems care about it.
What you have also missed is the plain fact that x86 _is_ amongst the
very few subsystems that _do_ regular Sparse runs. The person who does
this regular (and not trivial) manual Sparse sweep work for arch/x86 is
... Harvey, the person who submitted this fix! Most of the time Harvey's
Sparse fixes hit x86.git before we push it upstream. Sometimes, as in
this case, after. As per the analysis of this specific bug no puppies
were hurt - and that's typical of most Sparse fixes.
Sparse analysis is not just a matter of typing "make C=1" and fixing
whatever it prints... FYI, today's -git has the following Sparse
warnings histogram (sparse-0.4.1-2.fc9):
2 error: incompatible types in comparison expression (different address spaces)
3 error: dubious one-bit signed bitfield
5 error: subtraction of different types can't work (different address spaces)
10 error: incompatible types for operation (*)
10 error: invalid assignment
24 error: cannot size expression
97 error: bad constant expression
157 error: bad integer constant expression
86817 error: attribute '__cold__': unknown attribute
even ignoring those nearly one hundred thousand '__cold__' warnings
(which came upstream many months ago via commit v2.6.24-2245-gf3fe866),
that's still more than 300 warnings to sift through.
The reality is that nearly nobody runs Sparse for every patch and nearly
nobody cares about making the default C=1 output meaningful and
interesting to newbies. It's a frustrating experience at the moment, and
its (non-) uptake is reflecting that reality.
And as anyone can see it from the verbosity of the histogram above,
Sparse validation is a deeply manual work today, for something as
complex as general x86. Al has delta analysis automation around it but
those tools are not part of the upstream kernel yet and it's not usable
for daily patch-management.
Automating Sparse runs so that it can become part of our daily
patch-flow is _not_ trivial and it's not just a matter of typing make
C=1. Thomas is working on integrating Sparse delta analysis into our
daily patch workflow nevertheless.
But to suggest that we somehow should have done this before shows deep
ignorance of the problem space, at best.
Ingo
next prev parent reply other threads:[~2008-04-30 9:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-27 4:00 [PATCH] x86: !x & y typo in mtrr code Harvey Harrison
2008-04-27 4:20 ` Al Viro
2008-04-29 21:04 ` Ingo Molnar
2008-04-30 6:46 ` Björn Steinbrink
2008-04-30 7:46 ` Thomas Gleixner
2008-04-30 9:32 ` Ingo Molnar [this message]
2008-04-30 12:17 ` Björn Steinbrink
2008-04-30 12:35 ` Ingo Molnar
2008-04-30 15:35 ` Harvey Harrison
2008-04-30 18:06 ` Ingo Molnar
2008-05-06 18:24 ` Valdis.Kletnieks
2008-04-28 11:27 ` Ingo Molnar
2008-04-28 15:10 ` Harvey Harrison
2008-04-28 23:16 ` Pallipadi, Venkatesh
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=20080430093233.GD23528@elte.hu \
--to=mingo@elte.hu \
--cc=B.Steinbrink@gmx.de \
--cc=harvey.harrison@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=venkatesh.pallipadi@intel.com \
--cc=viro@ZenIV.linux.org.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