stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jack Wang <jinpuwang@gmail.com>
To: gregkh@linuxfoundation.org, stable@vger.kernel.org
Cc: Johannes Weiner <hannes@cmpxchg.org>,
	Christopher Lameter <cl@linux.com>,
	Ingo Molnar <mingo@redhat.com>, Johannes Weiner <jweiner@fb.com>,
	Mike Galbraith <efault@gmx.de>,
	Peter Enderborg <peter.enderborg@sony.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Shakeel Butt <shakeelb@google.com>, Tejun Heo <tj@kernel.org>,
	Vinayak Menon <vinmenon@codeaurora.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Jack Wang <jinpu.wang@cloud.ionos.com>
Subject: [stable-4.14 07/11] sched: introduce this_rq_lock_irq()
Date: Tue, 12 Mar 2019 11:19:58 +0100	[thread overview]
Message-ID: <20190312102002.31737-8-jinpuwang@gmail.com> (raw)
In-Reply-To: <20190312102002.31737-1-jinpuwang@gmail.com>

From: Johannes Weiner <hannes@cmpxchg.org>

do_sched_yield() disables IRQs, looks up this_rq() and locks it.  The next
patch is adding another site with the same pattern, so provide a
convenience function for it.

Link: http://lkml.kernel.org/r/20180828172258.3185-8-hannes@cmpxchg.org
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Suren Baghdasaryan <surenb@google.com>
Tested-by: Daniel Drake <drake@endlessm.com>
Cc: Christopher Lameter <cl@linux.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Johannes Weiner <jweiner@fb.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Enderborg <peter.enderborg@sony.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit d7edeb7f6a545695f064ce3787689f85e1e8b6dd)
Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
---
 kernel/sched/core.c  |  4 +---
 kernel/sched/sched.h | 12 ++++++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 0552ddbb25e2..a0b7e66c7281 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4817,9 +4817,7 @@ SYSCALL_DEFINE0(sched_yield)
 	struct rq_flags rf;
 	struct rq *rq;
 
-	local_irq_disable();
-	rq = this_rq();
-	rq_lock(rq, &rf);
+	rq = this_rq_lock_irq(&rf);
 
 	schedstat_inc(rq->yld_count);
 	current->sched_class->yield_task(rq);
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 5ea86c072c07..e73d5d68602d 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1041,6 +1041,18 @@ rq_unlock(struct rq *rq, struct rq_flags *rf)
 	raw_spin_unlock(&rq->lock);
 }
 
+static inline struct rq *
+this_rq_lock_irq(struct rq_flags *rf)
+	__acquires(rq->lock)
+{
+	struct rq *rq;
+
+	local_irq_disable();
+	rq = this_rq();
+	rq_lock(rq, rf);
+	return rq;
+}
+
 #ifdef CONFIG_NUMA
 enum numa_topology_type {
 	NUMA_DIRECT,
-- 
2.17.1


  parent reply	other threads:[~2019-03-12 10:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-12 10:19 [RFC stable-4.14 00/11] PSI feature for 4.14 Jack Wang
2019-03-12 10:19 ` [stable-4.14 01/11] mm: workingset: don't drop refault information prematurely Jack Wang
2019-03-12 16:37   ` Linus Torvalds
2019-03-13 10:05     ` Jinpu Wang
2019-03-12 10:19 ` [stable-4.14 02/11] mm: workingset: tell cache transitions from workingset thrashing Jack Wang
2019-03-12 10:19 ` [stable-4.14 03/11] delayacct: track delays from thrashing cache pages Jack Wang
2019-03-12 10:19 ` [stable-4.14 04/11] sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD Jack Wang
2019-03-12 10:19 ` [stable-4.14 05/11] sched: loadavg: make calc_load_n() public Jack Wang
2019-03-12 10:19 ` [stable-4.14 06/11] sched: sched.h: make rq locking and clock functions available in stats.h Jack Wang
2019-03-12 10:19 ` Jack Wang [this message]
2019-03-12 10:19 ` [stable-4.14 08/11] psi: pressure stall information for CPU, memory, and IO Jack Wang
2019-03-12 10:20 ` [stable-4.14 09/11] psi: cgroup support Jack Wang
2019-03-12 10:20 ` [stable-4.14 10/11] kernel/sched/psi.c: simplify cgroup_move_task() Jack Wang
2019-03-12 10:20 ` [stable-4.14 11/11] psi: make disabling/enabling easier for vendor kernels Jack Wang
2019-03-12 11:43 ` [RFC stable-4.14 00/11] PSI feature for 4.14 Greg KH
2019-03-13 10:15   ` Jinpu Wang
2019-03-14 17:29     ` Greg KH
2019-03-15 10:48       ` Jinpu Wang

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=20190312102002.31737-8-jinpuwang@gmail.com \
    --to=jinpuwang@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=efault@gmx.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=jinpu.wang@cloud.ionos.com \
    --cc=jweiner@fb.com \
    --cc=mingo@redhat.com \
    --cc=peter.enderborg@sony.com \
    --cc=rdunlap@infradead.org \
    --cc=shakeelb@google.com \
    --cc=stable@vger.kernel.org \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=vinmenon@codeaurora.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;
as well as URLs for NNTP newsgroup(s).