From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Juergen Beisert <jbe@pengutronix.de>
Cc: linux-rt-users@vger.kernel.org,
"Jürgen Mell" <j.mell@t-online.de>,
"Thomas Gleixner" <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Ingo Molnar" <mingo@elte.hu>,
"Clark Williams" <williams@redhat.com>,
"Peter Zijlstra" <peterz@infradead.org>,
"Carsten Emde" <ce@ceag.ch>
Subject: Re: 2.6.26-rt1
Date: Wed, 13 Aug 2008 09:37:28 -0700 [thread overview]
Message-ID: <20080813163728.GC6593@linux.vnet.ibm.com> (raw)
In-Reply-To: <200808131530.33130.jbe@pengutronix.de>
On Wed, Aug 13, 2008 at 03:30:32PM +0200, Juergen Beisert wrote:
> On Freitag, 1. August 2008, Paul E. McKenney wrote:
> > On Wed, Jul 30, 2008 at 11:01:32AM +0200, Jürgen Mell wrote:
> > > On Wednesday, 30. July 2008, Thomas Gleixner wrote:
> > > > We are pleased to announce the 2.6.26-rt1 tree, which can be
> > > > downloaded from the location:
> > >
> > > I have tried the new kernel and have some good news and some bad news:
> > >
> > > The good news: The machine boots and seems to run without major problems.
> > >
> > > The bad news: It produces continuously lots of bug messages in the error
> > > logs (cf. attached dmesg.tgz). The error at rtmutex.c:743 was already
> > > present in 2.6.25-rt* when ACPI was enabled. The 'using smp_processor_id
> > > () in preemptible code' is new here with 2.6.26.
> > >
> > > Machine is an old Athlon XP (single core) on an EPOX mainboard with VIA
> > > chipset.
> > >
> > > If I can help with testing, please let me know.
> >
> > The following patch should clear things up. It is against 2.6.25.8-rt7,
> > but should still apply.
> >
> > ------------------------------------------------------------------------
> >
> > Disable preemption around statistics for RCU boost and unboost calls.
> >
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > ---
> >
> > rcupreempt-boost.c | 20 ++++++++++++++++----
> > 1 file changed, 16 insertions(+), 4 deletions(-)
> >
> > diff -urpNa -X dontdiff linux-2.6.25.8-rt7/kernel/rcupreempt-boost.c
> > linux-2.6.25.8-rt7-preemptfix/kernel/rcupreempt-boost.c ---
> > linux-2.6.25.8-rt7/kernel/rcupreempt-boost.c 2008-06-24 14:14:52.000000000
> > -0700 +++
> > linux-2.6.25.8-rt7-preemptfix/kernel/rcupreempt-boost.c 2008-06-24
> > 14:38:59.000000000 -0700 @@ -205,11 +205,23 @@
> > RCU_BOOST_TRACE_FUNC_DECL(boost_readers)
> > RCU_BOOST_TRACE_FUNC_DECL(try_unboost_readers)
> > RCU_BOOST_TRACE_FUNC_DECL(unboost_readers)
> > RCU_BOOST_TRACE_FUNC_DECL(over_taken)
> > +static void rcu_trace_boost_boost_called_preempt(void)
> > +{
> > + preempt_disable();
> > + rcu_trace_boost_boost_called(RCU_BOOST_ME);
> > + preempt_enable();
> > +}
> > +static void rcu_trace_boost_unboost_called_preempt(void)
> > +{
> > + preempt_disable();
> > + rcu_trace_boost_unboost_called(RCU_BOOST_ME);
> > + preempt_enable();
> > +}
> > #else /* CONFIG_RCU_TRACE */
> > /* These were created by the above macro "RCU_BOOST_TRACE_FUNC_DECL" */
> > -# define rcu_trace_boost_task_boost_called(rbd) do { } while (0)
> > +# define rcu_trace_boost_task_boost_called_preempt(rbd) do { } while (0)
> > # define rcu_trace_boost_task_boosted(rbd) do { } while (0)
> > -# define rcu_trace_boost_boost_called(rbd) do { } while (0)
> > +# define rcu_trace_boost_boost_called_preempt(rbd) do { } while (0)
> > # define rcu_trace_boost_try_boost(rbd) do { } while (0)
> > # define rcu_trace_boost_boosted(rbd) do { } while (0)
> > # define rcu_trace_boost_unboost_called(rbd) do { } while (0)
> > @@ -261,7 +273,7 @@ void __rcu_preempt_boost(void)
> >
> > WARN_ON(!current->rcu_read_lock_nesting);
> >
> > - rcu_trace_boost_boost_called(RCU_BOOST_ME);
> > + rcu_trace_boost_boost_called_preempt();
> >
> > /* check to see if we are already boosted */
> > if (unlikely(rcu_is_boosted(curr)))
> > @@ -313,7 +325,7 @@ void __rcu_preempt_unboost(void)
> > int prio;
> > unsigned long flags;
> >
> > - rcu_trace_boost_unboost_called(RCU_BOOST_ME);
> > + rcu_trace_boost_unboost_called_preempt();
> >
> > /* if not boosted, then ignore */
> > if (likely(!rcu_is_boosted(curr)))
> >
> Using this patch on top of 2.6.26-rt1 results into:
>
> [...]
> CC kernel/rcupreempt-boost.o
> kernel/rcupreempt-boost.c: In function 'rcu_boost_task':
> kernel/rcupreempt-boost.c:249: error: implicit declaration of function 'rcu_trace_boost_task_boost_called'
> kernel/rcupreempt-boost.c: In function '__rcu_preempt_unboost':
> kernel/rcupreempt-boost.c:328: error: implicit declaration of function 'rcu_trace_boost_unboost_called_preempt'
>
> when CONFIG_PREEMPT_RCU_BOOST is enabled and target is a PowerPC of
> type MPC5200B.
Ah, 2.6.26-rt1 took a different approach to fix the issue my patch
was targeted at. Please accept my apologies for the noise!
The other thing to try would be Chirag Jog's patch sent out to
linux-rt-users on July 30.
Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-08-13 16:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-25 20:09 2.6.24.7-rt15 Thomas Gleixner
2008-07-26 11:03 ` 2.6.24.7-rt15 Carsten Emde
[not found] ` <1985e0f60807252248n581bdfa0s363f6ce0d283ec2c@mail.gmail.com>
2008-07-26 11:13 ` 2.6.24.7-rt15 Jaswinder Singh
2008-07-26 12:28 ` 2.6.24.7-rt15 Steven Rostedt
2008-07-26 13:22 ` 2.6.24.7-rt15 Daniel Walker
2008-07-26 18:28 ` 2.6.24.7-rt15 Jaswinder Singh
2008-07-27 16:16 ` 2.6.24.7-rt16 Thomas Gleixner
2008-07-27 20:28 ` 2.6.24.7-rt16 Avuton Olrich
2008-07-27 20:37 ` 2.6.24.7-rt16 Thomas Gleixner
2008-07-28 8:12 ` 2.6.24.7-rt16 Wolfgang Grandegger
2008-07-28 9:48 ` 2.6.24.7-rt16 Peter Zijlstra
2008-07-28 10:12 ` 2.6.24.7-rt16 Wolfgang Grandegger
2008-07-29 12:57 ` 2.6.24.7-rt16 Thomas Gleixner
2008-07-29 22:21 ` 2.6.26-rt1 Thomas Gleixner
2008-07-30 9:01 ` 2.6.26-rt1 Jürgen Mell
2008-07-30 17:18 ` [PATCH] Fix Bug messages Chirag Jog
2008-07-30 20:16 ` Jürgen Mell
2008-07-31 6:06 ` Peter Zijlstra
2008-07-31 8:00 ` Sebastien Dugue
2008-07-31 10:13 ` John Kacur
2008-07-31 11:23 ` Sebastien Dugue
2008-07-31 13:49 ` John Kacur
2008-07-31 14:01 ` Peter Zijlstra
2008-07-31 14:10 ` John Kacur
2008-07-31 14:18 ` Peter Zijlstra
2008-07-31 14:35 ` Sebastien Dugue
2008-07-31 15:01 ` Clark Williams
2008-07-31 15:14 ` Sebastien Dugue
2008-08-01 21:11 ` 2.6.26-rt1 Paul E. McKenney
2008-08-13 13:30 ` 2.6.26-rt1 Juergen Beisert
2008-08-13 16:37 ` Paul E. McKenney [this message]
2008-07-30 14:31 ` 2.6.26-rt1 John Kacur
2008-07-30 14:41 ` 2.6.26-rt1 Ryan Hope
2008-08-01 21:11 ` 2.6.26-rt1 Paul E. McKenney
2008-08-11 8:36 ` 2.6.26-rt1 Juergen Beisert
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=20080813163728.GC6593@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=ce@ceag.ch \
--cc=j.mell@t-online.de \
--cc=jbe@pengutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=williams@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).