From: Thomas Gleixner <tglx@linutronix.de>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Darren Hart <dvhltc@us.ibm.com>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
Eric Dumazet <eric.dumazet@gmail.com>,
"Peter W. Morreale" <pmorreale@novell.com>,
Rik van Riel <riel@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
Gregory Haskins <ghaskins@novell.com>,
Sven-Thorsten Dietrich <sdietrich@novell.com>,
Chris Mason <chris.mason@oracle.com>,
John Cooper <john.cooper@third-harmonic.com>,
Chris Wright <chrisw@sous-sol.org>,
Ulrich Drepper <drepper@gmail.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>, Avi Kivity <avi@redhat.com>
Subject: Re: [PATCH 4/4] futex: Add FUTEX_LOCK with optional adaptive spinning
Date: Fri, 7 May 2010 18:43:10 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.00.1005071839140.3401@localhost.localdomain> (raw)
In-Reply-To: <1273250143.1642.361.camel@laptop>
On Fri, 7 May 2010, Peter Zijlstra wrote:
> On Fri, 2010-05-07 at 18:30 +0200, Thomas Gleixner wrote:
> > > Please keep the code as near mutex_spin_on_owner() as possible.
> >
> > There is no reason why we can't make that unconditional.
> >
> Sure, but lets do that in a separate series.
Sure. I'm not touching mutex_spin_on_owner() now. It's just for
testing now.
Thanks,
tglx
---
Index: linux-2.6-tip/kernel/sched.c
===================================================================
--- linux-2.6-tip.orig/kernel/sched.c
+++ linux-2.6-tip/kernel/sched.c
@@ -841,6 +841,10 @@ static inline int task_running(struct rq
static inline void prepare_lock_switch(struct rq *rq, struct task_struct *next)
{
+#ifdef CONFIG_SMP
+ next->oncpu = 1;
+ prev->oncpu = 0;
+#endif
}
static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev)
@@ -2628,7 +2632,7 @@ void sched_fork(struct task_struct *p, i
if (likely(sched_info_on()))
memset(&p->sched_info, 0, sizeof(p->sched_info));
#endif
-#if defined(CONFIG_SMP) && defined(__ARCH_WANT_UNLOCKED_CTXSW)
+#if defined(CONFIG_SMP)
p->oncpu = 0;
#endif
#ifdef CONFIG_PREEMPT
@@ -5250,7 +5254,7 @@ void __cpuinit init_idle(struct task_str
__set_task_cpu(idle, cpu);
rq->curr = rq->idle = idle;
-#if defined(CONFIG_SMP) && defined(__ARCH_WANT_UNLOCKED_CTXSW)
+#if defined(CONFIG_SMP)
idle->oncpu = 1;
#endif
raw_spin_unlock_irqrestore(&rq->lock, flags);
Index: linux-2.6-tip/include/linux/sched.h
===================================================================
--- linux-2.6-tip.orig/include/linux/sched.h
+++ linux-2.6-tip/include/linux/sched.h
@@ -1178,10 +1178,8 @@ struct task_struct {
int lock_depth; /* BKL lock depth */
#ifdef CONFIG_SMP
-#ifdef __ARCH_WANT_UNLOCKED_CTXSW
int oncpu;
#endif
-#endif
int prio, static_prio, normal_prio;
unsigned int rt_priority;
next prev parent reply other threads:[~2010-05-07 16:44 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-06 6:24 [PATCH V6 0/4][RFC] futex: FUTEX_LOCK with optional adaptive spinning Darren Hart
2010-05-06 6:24 ` [PATCH 1/4] futex: replace fshared and clockrt with combined flags Darren Hart
2010-05-06 6:24 ` [PATCH 2/4] futex: add futex_q static initializer Darren Hart
2010-05-06 6:24 ` [PATCH 3/4] futex: refactor futex_lock_pi_atomic Darren Hart
2010-05-06 6:24 ` [PATCH 4/4] futex: Add FUTEX_LOCK with optional adaptive spinning Darren Hart
2010-05-07 16:20 ` Thomas Gleixner
2010-05-07 16:24 ` Peter Zijlstra
2010-05-07 16:30 ` Thomas Gleixner
2010-05-07 16:35 ` Peter Zijlstra
2010-05-07 16:43 ` Thomas Gleixner [this message]
2010-05-07 19:05 ` Darren Hart
2010-05-07 16:52 ` Darren Hart
2010-05-07 19:11 ` Darren Hart
-- strict thread matches above, loose matches on Subject: below --
2010-04-09 5:15 [PATCH V5 0/4][RFC] futex: " dvhltc
2010-04-09 5:15 ` [PATCH 4/4] futex: Add " dvhltc
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=alpine.LFD.2.00.1005071839140.3401@localhost.localdomain \
--to=tglx@linutronix.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=avi@redhat.com \
--cc=chris.mason@oracle.com \
--cc=chrisw@sous-sol.org \
--cc=drepper@gmail.com \
--cc=dvhltc@us.ibm.com \
--cc=eric.dumazet@gmail.com \
--cc=ghaskins@novell.com \
--cc=john.cooper@third-harmonic.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=pmorreale@novell.com \
--cc=riel@redhat.com \
--cc=rostedt@goodmis.org \
--cc=sdietrich@novell.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.