From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Manoj Sharma <manoj.shar@gmail.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Hang with isync
Date: Thu, 21 Sep 2006 08:38:13 +1000 [thread overview]
Message-ID: <1158791893.6002.327.camel@localhost.localdomain> (raw)
In-Reply-To: <d6dada100609201531oefd71ch8557067bbf77484e@mail.gmail.com>
On Wed, 2006-09-20 at 15:31 -0700, Manoj Sharma wrote:
> This is the stack trace.
>
> Registers:
> GPR00: 00069030 C01F3000 C01F1080 00000000 00048000 C0639F48 C01F1080
> FFFFFC18
> GPR08: C02203FC 00000020 C0638000 C01F31B0 42FEE022 1056A7F8 00FE502A
> 00000000
> GPR16: 00000000 FFC44232 00000000 00000000 FFC441EC 00080000 00010000
> 0000000A
> GPR24: 00000000 0007CD80 00000CE0 00000000 00000000 C02B0000 00000000
> C02B0000
>
> NIP; c0005da4 _<_nmask_and_or_msr+0x18/0x20 [kernel]>
> Trace; c0025328 _<check_pgt_cache+0x20/0x30 [kernel]>
> Trace; c0004f4c _<idled+0x58/0x70 [kernel]>
> Trace; c0004f74 _<cpu_idle+0x10/0x24 [kernel]>
> Trace; c00012b0 _<rest_init+0x30/0x40 [kernel]>
> Trace; c02a45a4 _<start_kernel+0x168/0x17c [kernel]>
> Trace; c0000250 _<skpinv+0x1f8/0x234 [kernel]>
Is this upstream 2.6.20 or do you have any additional patches ? (Like
Montavista stuff or RT linux or whatever ?)
It's unclear to me from just that backtrace what mask it is... it could
just be re-enabling interrupt and you have a stale IRQ line asserted....
Have you also checked the errata list for your 405 core, in case it has
a known issue ?
Ben.
>
> On 9/20/06, Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> On Tue, 2006-09-19 at 18:16 -0700, Manoj Sharma wrote:
> > Hi,
> >
> > We use linux kernel 2.4.20 on ppc405 and the system
> hangs once
> > in a while when isync gets called in this function:
> >
> > _GLOBAL(_nmask_and_or_msr)
> > mfmsr r0 /* Get current msr */
> > andc r0,r0,r3 /* And off the bits set in
> r3 (first
> > parm) */`
> > or r0,r0,r4 /* Or on the bits in r4 (second
> parm) */
> > sync /* Some chip revs have problems
> here... */
> > isync
> > mtmsr r0 /* Update machine state */
> > isync
> > blr /* Done */
> >
> > 2.5 onwards, I find that "sync; isync" has been
> replaced by a
> > macro SYNC (defined only for 601). I don't find it
> in any
> > changelog and reason for the change.
> >
> > Can someone give some information on this change?
>
> Regardless of the change... on 2.4, _nmask_and_or_msr() was
> used for a
> number of things. We would need to know where it was called
> from with
> what values as arguments to have an idea of what's going
> wrong. It's
> probably not dying on the isync, but rather on the following
> mtmsr due
> to a problem with the values passed in....
>
> Ben.
>
>
>
>
next prev parent reply other threads:[~2006-09-20 22:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-19 1:28 Hang with isync Manoj Sharma
2006-09-20 1:16 ` Manoj Sharma
2006-09-20 21:35 ` Benjamin Herrenschmidt
2006-09-20 22:31 ` Manoj Sharma
2006-09-20 22:38 ` Benjamin Herrenschmidt [this message]
2006-09-20 23:04 ` Linas Vepstas
2006-09-21 0:59 ` Manoj Sharma
2006-09-21 4:24 ` Liu Dave-r63238
2006-09-21 6:17 ` Manoj Sharma
2006-09-21 6:27 ` Liu Dave-r63238
2006-09-21 7:11 ` Manoj Sharma
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=1158791893.6002.327.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=manoj.shar@gmail.com \
/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.