From: john cooper <john.cooper@timesys.com>
To: Frank Rowand <frowand@mvista.com>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel <linux-kernel@vger.kernel.org>,
"Saksena, Manas" <Manas.Saksena@timesys.com>,
john cooper <john.cooper@timesys.com>
Subject: Re: PPC RT Patch..
Date: Thu, 24 Feb 2005 08:56:57 -0500 [thread overview]
Message-ID: <421DDD29.7010606@timesys.com> (raw)
In-Reply-To: <421D55FB.9060108@mvista.com>
Frank Rowand wrote:
> john cooper wrote:
>> ... There is also a bug fix
>> contained for tlb_gather_mmu() which was causing debug
>> assertions to be generated in a path which attempted to
>> sleep with a non-zero preempt count.
>
>
> Manish Lachwani mentioned to me that he faced the same issue
> with the MIPS RT support and that when he discussed
> it with Ingo that the solution was for include/asm-ppc/tlb.h
> to include/asm-generic/tlb-simple.h when PREEMPT_RT is turned on.
> The patch does this for the #ifdef CONFIG_PPC_STD_MMU case,
> but not for the #else case. I don't know which case is used
> for the Ampro board.
It appeared to me a generic issue though I believe a number
of solutions are possible. asm-generic/tlb.h:tlb_gather_mmu()
expands to linux/percpu.h:get_cpu_var() which does a
preempt_disable() and __get_cpu_var(). This caused the debug
assertion to kick when __page_cache_release() and to a lesser
extent activate_page() attempted to block on a mutex (though
other paths may well exist). My approach was to replace the
outer layer preempt_disable/enable calls with a mutex-spinlock.
The fix was fairly easy once it was known from where the
gratuitous call to preempt_disable() existed. I cobbled
together a logging mechanism which detected the problem. As it
wasn't very general I removed it from the patch. I didn't see
an alternate means of diagnosing such a scenario so I'll likely
address generalizing the code.
-john
--
john.cooper@timesys.com
next prev parent reply other threads:[~2005-02-24 14:01 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-23 18:07 More latency regressions with 2.6.11-rc4-RT-V0.7.39-02 Lee Revell
2005-02-23 19:16 ` Hugh Dickins
2005-02-23 19:36 ` Lee Revell
2005-02-23 20:06 ` Hugh Dickins
2005-02-23 20:10 ` Lee Revell
2005-02-23 20:30 ` Lee Revell
2005-02-23 21:03 ` Hugh Dickins
2005-02-23 22:14 ` Lee Revell
2005-02-23 23:52 ` PPC RT Patch john cooper
2005-02-24 4:20 ` Frank Rowand
2005-02-24 13:56 ` john cooper [this message]
2005-02-23 23:27 ` More latency regressions with 2.6.11-rc4-RT-V0.7.39-02 Nick Piggin
2005-02-24 1:03 ` Lee Revell
2005-02-24 1:29 ` Nick Piggin
2005-02-24 2:24 ` Lee Revell
2005-02-24 2:41 ` Nick Piggin
2005-02-24 3:03 ` Lee Revell
2005-02-23 20:53 ` Hugh Dickins
2005-02-23 22:13 ` Lee Revell
2005-02-24 4:56 ` Hugh Dickins
2005-02-24 6:32 ` Lee Revell
2005-02-24 8:26 ` Hugh Dickins
2005-02-25 3:30 ` Lee Revell
2005-02-25 5:58 ` Hugh Dickins
2005-02-25 15:02 ` Lee Revell
2005-02-23 19:52 ` Lee Revell
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=421DDD29.7010606@timesys.com \
--to=john.cooper@timesys.com \
--cc=Manas.Saksena@timesys.com \
--cc=frowand@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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.