All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: David Miller <davem@davemloft.net>
Cc: linux-kernel@vger.kernel.org, a.p.zijlstra@chello.nl,
	Junio C Hamano <junio@pobox.com>
Subject: Re: sched tree bisectability
Date: Tue, 22 Apr 2008 09:06:44 +0200	[thread overview]
Message-ID: <20080422070644.GA7068@elte.hu> (raw)
In-Reply-To: <20080421.203212.262634448.davem@davemloft.net>


* David Miller <davem@davemloft.net> wrote:

> While trying to bisect a regression added by the sched tree merges 
> today, I found the following gem that broke compilation mid-bisect:
[...]

> rt_bandwidth does not have a rt_runtime_lock member, so the compile 
> fails.  The very next changeset adds it:

sorry, i broke that bisection point and i should have noticed this and 
should have backmerged that chunk.

i've just added some scripting to avoid this in the future - the 
scheduler tree gets built on every commit point before it's pushed out. 
I just ran it through the outstanding scheduler patches (there's a 
hundred more pending) and they all pass this test.

I'm wondering whether there are any other maintenance practices others 
use to keep things like this slip through.

It could be caught on the testing side via a new git-checkout feature:

   git-checkout --random base..head

which would pick a random commit from a git tree (from the range of 
commits given), which could be combined with make randconfig? This could 
be used in pre-push testing.

Another thing we might think about is when neither care from the 
maintainer nor any testing caught an unusable commit - then we could 
perhaps, as a last-ditch effort teach git-bisect to avoid known "100% 
unusable" commit points.

Something like a (append-only, constantly growing, but not too huge) 
repository of known-unusable commits via a special exceptions file like 
.gitignore - say .git/git-bisect-unusable. [Plus perhaps a git-bisect 
--ignore-bad option so that if someone wants to run a pristine bisection 
it can be done too.]

The semantics would be to pass along this information across a pull as 
well, so that the known-unusable commit points would.

The downside of such an approach would be that the file would grow 
indefinitely, and would never shrink. That does not feel too good.

	Ingo

  reply	other threads:[~2008-04-22  7:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-22  3:32 sched tree bisectability David Miller
2008-04-22  7:06 ` Ingo Molnar [this message]
2008-04-22  7:25 ` Peter Zijlstra

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=20080422070644.GA7068@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=davem@davemloft.net \
    --cc=junio@pobox.com \
    --cc=linux-kernel@vger.kernel.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 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.