From: Helge Deller <deller@gmx.de>
To: John David Anglin <dave@hiauly1.hia.nrc.ca>
Cc: linux-parisc@vger.kernel.org
Subject: Re: [PATCH, RFC] fix parisc runtime hangs wrt pa_tlb_lock
Date: Mon, 15 Jun 2009 00:05:19 +0200 [thread overview]
Message-ID: <4A35741F.6000107@gmx.de> (raw)
In-Reply-To: <4A2ADEC9.2090403@gmx.de>
On 06/06/2009 11:25 PM, Helge Deller wrote:
> John David Anglin wrote:
>> On the rp3440, the spinlock is definitely needed. With just
>> preempt_disable/preempt_enable, a crash occurs during bootstrap
>> at the point unused memory is recovered. Thus, the tlb purge
>> issue referred to in the preceeding comment affects more than
>> just N class.
>>
>> On the otherhand, it doesn't seem necessary to disable interrupts
>> during the purge with UP kernels.
>
> My kernel crashes happened with UP-kernels on a B2000 (1 CPU).
> So, I still have the feeling that it's necessary to disable interrupts
> on UP kernels as well.
Hi Dave,
I did further testing. Especially I wanted to clarify if disabling
interrupts are necessary or not.
To test it, I added a WARN_ON(in_interrupt()) to the purge_tlb_start() macro like this:
+#define purge_tlb_start(flags) WARN_ON(in_interrupt()); spin_lock_irqsave(&pa_tlb_lock, flags)
and did ran the compile-test which usually hang my system.
The result is that we really need to disable interrupts.
The WARN_ON() did triggered for me again as it always did hang the system.
This is with a UP-kernel (2.6.30-rc8) on a UP-machine (B2000):
Badness at arch/parisc/kernel/cache.c:461
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001101111100100001111 Tainted: G W
r00-03 0006f90f 10640000 10112760 106f4c40
r04-07 5eadc000 2418e30c 0004eadc 113336f0
r08-11 2418e31c 0000007c 106f4a88 7c5b3c7c
r12-15 104c45ec 106c9da0 00001000 10000000
r16-19 00000fff 1067f13c 105e0560 00000100
r20-23 0000ff00 5eadc10a 5eadc100 00000040
r24-27 00000000 5eadcfc0 5eadd000 10640680
r28-31 106f4000 0000000a 106f4c80 471249e8
sr00-03 00000000 00000000 00000000 00000025
sr04-07 00000000 00000000 00000000 00000000
IASQ: 00000000 00000000 IAOQ: 10112774 10112778
IIR: 03ffe01f ISR: 0424013a IOR: b72dcfc0
CPU: 0 CR30: 106f4000 CR31: 11111111
ORIG_R28: 106f4dc0
IAOQ[0]: flush_kernel_dcache_page_addr+0x30/0xa0
IAOQ[1]: flush_kernel_dcache_page_addr+0x34/0xa0
RP(r2): flush_kernel_dcache_page_addr+0x1c/0xa0
Backtrace:
[<10112760>] flush_kernel_dcache_page_addr+0x1c/0xa0
Sadly I didn't got a full backtrace.
The WARN_ON() triggered around 20 times during the phase where my machine was
pretty much loaded.
Interestingly it was always inflush_kernel_dcache_page_addr().
So, I still think my patch at http://patchwork.kernel.org/patch/28458/ should
be applied to all kernels.
Helge
next prev parent reply other threads:[~2009-06-14 22:05 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-22 20:13 [PATCH, RFC] fix parisc runtime hangs wrt pa_tlb_lock Helge Deller
2009-05-23 15:26 ` John David Anglin
2009-05-23 15:34 ` John David Anglin
2009-05-23 19:34 ` Helge Deller
2009-05-23 20:03 ` John David Anglin
2009-05-23 21:53 ` John David Anglin
2009-05-28 1:50 ` John David Anglin
2009-06-06 21:25 ` Helge Deller
2009-06-14 22:05 ` Helge Deller [this message]
2009-06-14 23:20 ` John David Anglin
2009-06-16 20:51 ` [PATCH] " Helge Deller
2009-06-17 2:55 ` Kyle McMartin
2009-06-17 7:26 ` Helge Deller
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=4A35741F.6000107@gmx.de \
--to=deller@gmx.de \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=linux-parisc@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox