All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org,
	linux-rt-users <linux-rt-users@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Carsten Emde <C.Emde@osadl.org>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	John Kacur <jkacur@redhat.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	<stable-rt@vger.kernel.org>,
	Mike Galbraith <umgwanakikbuti@gmail.com>
Subject: [PATCH RT 25/31] sunrpc: make svc_xprt_do_enqueue() use get_cpu_light()
Date: Fri, 13 Mar 2015 11:15:19 -0400	[thread overview]
Message-ID: <20150313151519.195066142@goodmis.org> (raw)
In-Reply-To: 20150313151454.809081378@goodmis.org

[-- Attachment #1: 0025-sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch --]
[-- Type: text/plain, Size: 2118 bytes --]

3.10.70-rt75-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Mike Galbraith <umgwanakikbuti@gmail.com>

|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 3194, name: rpc.nfsd
|Preemption disabled at:[<ffffffffa06bf0bb>] svc_xprt_received+0x4b/0xc0 [sunrpc]
|CPU: 6 PID: 3194 Comm: rpc.nfsd Not tainted 3.18.7-rt1 #9
|Hardware name: MEDION MS-7848/MS-7848, BIOS M7848W08.404 11/06/2014
| ffff880409630000 ffff8800d9a33c78 ffffffff815bdeb5 0000000000000002
| 0000000000000000 ffff8800d9a33c98 ffffffff81073c86 ffff880408dd6008
| ffff880408dd6000 ffff8800d9a33cb8 ffffffff815c3d84 ffff88040b3ac000
|Call Trace:
| [<ffffffff815bdeb5>] dump_stack+0x4f/0x9e
| [<ffffffff81073c86>] __might_sleep+0xe6/0x150
| [<ffffffff815c3d84>] rt_spin_lock+0x24/0x50
| [<ffffffffa06beec0>] svc_xprt_do_enqueue+0x80/0x230 [sunrpc]
| [<ffffffffa06bf0bb>] svc_xprt_received+0x4b/0xc0 [sunrpc]
| [<ffffffffa06c03ed>] svc_add_new_perm_xprt+0x6d/0x80 [sunrpc]
| [<ffffffffa06b2693>] svc_addsock+0x143/0x200 [sunrpc]
| [<ffffffffa072e69c>] write_ports+0x28c/0x340 [nfsd]
| [<ffffffffa072d2ac>] nfsctl_transaction_write+0x4c/0x80 [nfsd]
| [<ffffffff8117ee83>] vfs_write+0xb3/0x1d0
| [<ffffffff8117f889>] SyS_write+0x49/0xb0
| [<ffffffff815c4556>] system_call_fastpath+0x16/0x1b

Cc: stable-rt@vger.kernel.org
Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 net/sunrpc/svc_xprt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index b9aad4723a9d..ab50dbd58c20 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -349,9 +349,9 @@ void svc_xprt_enqueue(struct svc_xprt *xprt)
 	if (!svc_xprt_has_something_to_do(xprt))
 		return;
 
-	cpu = get_cpu();
+	cpu = get_cpu_light();
 	pool = svc_pool_for_cpu(xprt->xpt_server, cpu);
-	put_cpu();
+	put_cpu_light();
 
 	spin_lock_bh(&pool->sp_lock);
 
-- 
2.1.4

  parent reply	other threads:[~2015-03-13 15:15 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-13 15:14 [PATCH RT 00/31] Linux 3.10.70-rt75-rc1 Steven Rostedt
2015-03-13 15:14 ` [PATCH RT 01/31] gpio: omap: use raw locks for locking Steven Rostedt
2015-03-13 15:14 ` [PATCH RT 02/31] create-rt-enqueue Steven Rostedt
2015-03-13 15:14 ` [PATCH RT 03/31] rtmutex: Simplify rtmutex_slowtrylock() Steven Rostedt
2015-03-13 15:14 ` [PATCH RT 04/31] rtmutex: Simplify and document try_to_take_rtmutex() Steven Rostedt
2015-03-13 15:14 ` [PATCH RT 05/31] rtmutex: No need to keep task ref for lock owner check Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 06/31] rtmutex: Clarify the boost/deboost part Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 07/31] rtmutex: Document pi chain walk Steven Rostedt
2015-03-13 15:15   ` Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 08/31] rtmutex: Simplify remove_waiter() Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 09/31] rtmutex: Confine deadlock logic to futex Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 10/31] rtmutex: Cleanup deadlock detector debug logic Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 11/31] rtmutex: Avoid pointless requeueing in the deadlock detection chain walk Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 12/31] futex: Make unlock_pi more robust Steven Rostedt
2015-03-13 15:15   ` Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 13/31] futex: Use futex_top_waiter() in lookup_pi_state() Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 14/31] futex: Split out the waiter check from lookup_pi_state() Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 15/31] futex: Split out the first waiter attachment " Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 16/31] futex: Simplify futex_lock_pi_atomic() and make it more robust Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 17/31] rt-mutex: avoid a NULL pointer dereference on deadlock Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 18/31] x86: UV: raw_spinlock conversion Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 20/31] arm/futex: disable preemption during futex_atomic_cmpxchg_inatomic() Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 21/31] ARM: cmpxchg: define __HAVE_ARCH_CMPXCHG for armv6 and later Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 22/31] sas-ata/isci: dontt disable interrupts in qc_issue handler Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 23/31] scheduling while atomic in cgroup code Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 24/31] work-simple: Simple work queue implemenation Steven Rostedt
2015-03-13 15:15 ` Steven Rostedt [this message]
2015-03-13 15:15 ` [PATCH RT 26/31] lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 27/31] timers: Track total number of timers in list Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 28/31] timers: Reduce __run_timers() latency for empty list Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 29/31] timers: Reduce future __run_timers() latency for newly emptied list Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 30/31] timers: Reduce future __run_timers() latency for first add to empty list Steven Rostedt
2015-03-13 15:15 ` [PATCH RT 31/31] Linux 3.10.70-rt75-rc1 Steven Rostedt

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=20150313151519.195066142@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=C.Emde@osadl.org \
    --cc=bigeasy@linutronix.de \
    --cc=jkacur@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=stable-rt@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=umgwanakikbuti@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.