From: Andrew Lutomirski <luto@mit.edu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Couder <christian.couder@gmail.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
git@vger.kernel.org, Shuang He <shuang.he@intel.com>
Subject: Re: AAARGH bisection is hard (Re: [2.6.39 regression] X locks up hard right after logging in)
Date: Fri, 13 May 2011 12:13:23 -0400 [thread overview]
Message-ID: <BANLkTikDafbCnsXPoidnMBAE0qtd9aC4oQ@mail.gmail.com> (raw)
In-Reply-To: <BANLkTimE2GkkhcFZtNrYZASWp0LDhUx=GQ@mail.gmail.com>
On Fri, May 13, 2011 at 12:11 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Fri, May 13, 2011 at 7:56 AM, Andrew Lutomirski <luto@mit.edu> wrote:
>>
>> So what I really want is a fancy version of git bisect that makes no
>> assumptions about the relationship of good and bad commits in the
>> graph and just finds me a commit that is bad but for which all parents
>> are good or vice versa.
>
> Ehh. That's the "non-fancy" way of testing, I'm afraid: if you cannot
> make assumption about the relationship between good and bad commits,
> then you have to test _every_ commit.
>
> So yes, bisection has its problems. But they really do come from the
> fact that it's very efficient. When you have (on average) about ten
> thousand commits between releases, you have to make assumptions about
> the relationships. But once you do that, the efficiency also results
> in a certain fragility.
>
> Think of it as a compression method: it generates the smallest
> possible set of test points for you. But it's a "lossy" compression -
> you don't test everything. And it's extreme: it boils down 10k commit
> events to about 13 bisection events. If anything goes wrong (like the
> bug not being entirely repeatable, or the bug comes and goes), it will
> give the wrong answer.
>
> The good news is that _usually_ it works really well. And when the
> choice is between "works really well for 10k commits but can have
> problems" and "you need to test all 10k commits", the "can have
> problems" part turns out to be a pretty small downside ;)
In conclusion, I found the problem. It's a clusterfuck and I think
there's no way that any bisection tool under any sane assumptions
could have found it. Patch coming in a couple seconds b/c I think it
needs to go in to 2.6.39.
--Andy
>
> Linus
>
next prev parent reply other threads:[~2011-05-13 16:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-12 17:15 AAARGH bisection is hard (Re: [2.6.39 regression] X locks up hard right after logging in) Andrew Lutomirski
2011-05-12 17:37 ` Linus Torvalds
2011-05-12 18:54 ` Johannes Sixt
2011-05-12 19:17 ` Linus Torvalds
2011-05-13 13:39 ` Andrew Lutomirski
2011-05-13 8:20 ` Christian Couder
2011-05-13 13:38 ` Andrew Lutomirski
2011-05-13 14:56 ` Andrew Lutomirski
2011-05-13 16:11 ` Linus Torvalds
2011-05-13 16:13 ` Andrew Lutomirski [this message]
2011-05-13 17:24 ` Andrew Lutomirski
2011-05-13 17:54 ` Linus Torvalds
2011-05-13 18:34 ` Johannes Sixt
2011-05-13 18:41 ` Linus Torvalds
2011-05-13 18:47 ` Johannes Sixt
2011-05-13 18:48 ` Junio C Hamano
2011-05-13 18:55 ` Andrew Lutomirski
2011-05-13 19:18 ` Linus Torvalds
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=BANLkTikDafbCnsXPoidnMBAE0qtd9aC4oQ@mail.gmail.com \
--to=luto@mit.edu \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=shuang.he@intel.com \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).