public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org
Subject: Re: T400 suspend/resume regression -- bisected to a mystery merge commit
Date: Sat, 26 Sep 2009 09:28:29 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.2.01.0909260909140.3303@localhost.localdomain> (raw)
In-Reply-To: <E1MrRDa-0002WF-LO@closure.thunk.org>



On Sat, 26 Sep 2009, Theodore Ts'o wrote:
> 
> One of the things I've been trying to track for the last couple of days
> is a suspend/resume regression which I've noticed on my T400 Lenovo
> laptop.  I first noticed it on a 2.6.31-git9 kernel with a some
> additional ext4 patches.  I've since bisected it to the following merge
> commit: a03fdb76.  The commit does have some merge conflict fix ups, but
> only for the some files in the m68knommu and mips architectures.

Yeah, no conflicts on the x86 side. But there can obviously be 
interactions between the timer changes and the other changes, although 
looking at it that does look rather unlikely.

One thing that _can_ be done for these kinds of merge conflicts is to just 
turn the merge into rebase, and then bisecting that rebase. So in this 
case, you could do something like this:

	# Check out the timer side of the merge
	git checkout -b timer-branch a03fdb76^2

	# instead of merging it into the mainline, rebase it on top of it
	git rebase a03fdb76^

	# resolve the trivial problem in arch/mips/lemote/lm2e/setup.c
	# the same way the merge did (do the 'git add' just to make 
	# checkout happy
	git rm arch/mips/lemote/lm2e/setup.c
	git rebase --continue

and now you have the exact same tree as the merge resulted in (apart from 
the 'arch/mips/loongson/common/time.c' that was broken in the merge 
anyway, but that also doesn't matter), and now you can bisect the series 
and see exactly _which_ commit it is that has problems.

So now you can just bisect it by doing

	git bisect start
	git bisect bad timer-branch
	git bisect good a03fdb76

and off you go.

The above is a generic way to handle bisection problems with merges, 
although admittedly it only really works in practice for the simple cases 
(if there is lots and lots of independent development on both sides, it's 
not going to be a reasonable thing to do).

That said, I do wonder if you're hitting some timing-dependent thing. The 
whole "second suspend fails" is not an uncommon problem case. Others have 
had it, and it's possible that it's not going to be the actual merge that 
is the problem, but that just some odd combination of code ends up hitting 
the case that causes it for you. But the bisect above should still be 
interesting, since it will point to _some_ commit that triggers it, and 
then we can say whether that commit makes sense or not..

		Linus

  reply	other threads:[~2009-09-26 16:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-26  6:57 T400 suspend/resume regression -- bisected to a mystery merge commit Theodore Ts'o
2009-09-26 16:28 ` Linus Torvalds [this message]
2009-09-27  8:08 ` Len Brown
2009-09-27 16:13 ` Rafael J. Wysocki
2009-09-28 13:51   ` Theodore Tso
2009-09-28 21:22     ` Rafael J. Wysocki
2009-10-02  0:59       ` Theodore Tso
2009-10-02  1:21         ` Linus Torvalds
2009-10-02  8:02           ` Martin Schwidefsky
2009-10-02 22:34           ` Theodore Tso
2009-10-02  6:50     ` Magnus Damm
2009-10-02 17:51       ` Rafael J. Wysocki

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=alpine.LFD.2.01.0909260909140.3303@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tytso@mit.edu \
    /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