From: Geoff Levand <geoff@infradead.org>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: cbe-oss-dev@lists.ozlabs.org, Andre Heider <a.heider@gmail.com>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
Frank Rowand <frank.rowand@us.sony.com>
Subject: Re: Kernel hang on PS3 with SMP
Date: Thu, 27 Oct 2011 18:17:27 -0700 [thread overview]
Message-ID: <4EAA02A7.7010109@infradead.org> (raw)
In-Reply-To: <1310808863.13765.3.camel@twins>
Hi,
On 07/16/2011 02:34 AM, Peter Zijlstra wrote:
> On Sat, 2011-07-16 at 09:38 +0200, Andre Heider wrote:
>> Hi,
>>
>> when I boot a recent kernel I'm getting hangs early in the boot process.
>>
>> The kernel boots most of the time, but when /sbin/init kicks in it
>> waits forever for something. I only get a few lines of output, mostly
>> udev related.
>> When the kernel does not boot, it seems to hang somewhere when mapping
>> the irqs (at least that's what the last lines of ps3fb output
>> suggest).
>> I can run into both situation with the same kernel binary. It's also
>> consistent with two userlands, I tried debian stable and testing.
>>
>> When this happens, I can't interact with the system, so I don't have
>> much more info.
>>
>> I bisected this to:
>>
>> commit 317f394160e9beb97d19a84c39b7e5eb3d7815a8
>> Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
>> Date: Tue Apr 5 17:23:58 2011 +0200
>>
>> sched: Move the second half of ttwu() to the remote cpu
>>
>> All kernels including this patch only work for me when booted with 'nosmp'.
I verified that indeed 317f394160e9beb97d19a84c39b7e5eb3d7815a8
'sched: Move the second half of ttwu() to the remote cpu' introduces
the hang.
>> Any ideas?
>
> Verify 184748cc50b2dceb8287f9fb657eda48ff8fcfe7 does indeed cover your
> PPC flavour. It has some ppc changes, but I could have missed PS3 if its
> 'special'.
I don't think PS3 is special. The IPI code is here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/powerpc/platforms/ps3/smp.c;hb=HEAD
> Another thing to check is if your sched IPI handler calls
> irq_enter()/irq_exit(), if not try that.
I tried adding some these, but no change.
I tried to figure out what is happening, but I can't seem to. It seems
when ttwu_queue_remote() is used the pending scheduling is not performed.
I can't say for sure what is happening. With the test patch below the
system boots OK.
Also, if I add a udbg_printf(".") statement in the body of ps3's do_message_pass()
the system boots OK.
Any help would be greatly appreciated.
-Geoff
diff --git a/kernel/sched.c b/kernel/sched.c
index 9e3ede1..c16a35a 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2561,21 +2561,21 @@ static void ttwu_queue_remote(struct task_struct *p, int cpu)
if (!next)
smp_send_reschedule(cpu);
}
#endif
static void ttwu_queue(struct task_struct *p, int cpu)
{
struct rq *rq = cpu_rq(cpu);
-#if defined(CONFIG_SMP) && defined(CONFIG_SCHED_TTWU_QUEUE)
+#if 0 //defined(CONFIG_SMP) && defined(CONFIG_SCHED_TTWU_QUEUE)
if (sched_feat(TTWU_QUEUE) && cpu != smp_processor_id()) {
ttwu_queue_remote(p, cpu);
return;
}
#endif
raw_spin_lock(&rq->lock);
ttwu_do_activate(rq, p, 0);
raw_spin_unlock(&rq->lock);
}
next parent reply other threads:[~2011-10-28 1:17 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAHsu+b-AEtOs+YuYxYFTkMjGwUMoc3jP9cYYkb31nZ+JVrGNVQ@mail.gmail.com>
[not found] ` <1310808863.13765.3.camel@twins>
2011-10-28 1:17 ` Geoff Levand [this message]
2011-10-29 1:33 ` Kernel hang on PS3 with SMP Geoff Levand
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=4EAA02A7.7010109@infradead.org \
--to=geoff@infradead.org \
--cc=a.heider@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=cbe-oss-dev@lists.ozlabs.org \
--cc=frank.rowand@us.sony.com \
--cc=linuxppc-dev@lists.ozlabs.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.