From: Alexey Dobriyan <adobriyan@gmail.com>
To: mingo@redhat.com, peterz@infradead.org
Cc: linux-kernel@vger.kernel.org, juri.lelli@redhat.com,
rostedt@goodmis.org, bristot@redhat.com
Subject: [PATCH 5/5] sched: make multiple runqueue task counters 32-bit
Date: Sat, 6 Feb 2021 18:30:11 +0300 [thread overview]
Message-ID: <20210206153011.GE487103@localhost.localdomain> (raw)
In-Reply-To: <20210206151832.GA487103@localhost.localdomain>
Make
struct dl_rq::dl_nr_migratory
struct dl_rq::dl_nr_running
struct rt_rq::rt_nr_boosted
struct rt_rq::rt_nr_migratory
struct rt_rq::rt_nr_total
struct rq::nr_uninterruptible
32-bit.
If total number of tasks can't exceed 2**32 (and less due to futex pid
limits), then per-runqueue counters can't as well.
This patchset has been sponsored by REX Prefix Eradication Society.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---
kernel/sched/loadavg.c | 2 +-
kernel/sched/sched.h | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
--- a/kernel/sched/loadavg.c
+++ b/kernel/sched/loadavg.c
@@ -81,7 +81,7 @@ long calc_load_fold_active(struct rq *this_rq, long adjust)
long nr_active, delta = 0;
nr_active = this_rq->nr_running - adjust;
- nr_active += (long)this_rq->nr_uninterruptible;
+ nr_active += (int)this_rq->nr_uninterruptible;
if (nr_active != this_rq->calc_load_active) {
delta = nr_active - this_rq->calc_load_active;
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -622,8 +622,8 @@ struct rt_rq {
} highest_prio;
#endif
#ifdef CONFIG_SMP
- unsigned long rt_nr_migratory;
- unsigned long rt_nr_total;
+ unsigned int rt_nr_migratory;
+ unsigned int rt_nr_total;
int overloaded;
struct plist_head pushable_tasks;
@@ -637,7 +637,7 @@ struct rt_rq {
raw_spinlock_t rt_runtime_lock;
#ifdef CONFIG_RT_GROUP_SCHED
- unsigned long rt_nr_boosted;
+ unsigned int rt_nr_boosted;
struct rq *rq;
struct task_group *tg;
@@ -654,7 +654,7 @@ struct dl_rq {
/* runqueue is an rbtree, ordered by deadline */
struct rb_root_cached root;
- unsigned long dl_nr_running;
+ unsigned int dl_nr_running;
#ifdef CONFIG_SMP
/*
@@ -668,7 +668,7 @@ struct dl_rq {
u64 next;
} earliest_dl;
- unsigned long dl_nr_migratory;
+ unsigned int dl_nr_migratory;
int overloaded;
/*
@@ -946,7 +946,7 @@ struct rq {
* one CPU and if it got migrated afterwards it may decrease
* it on another CPU. Always updated under the runqueue lock:
*/
- unsigned long nr_uninterruptible;
+ unsigned int nr_uninterruptible;
struct task_struct __rcu *curr;
struct task_struct *idle;
next prev parent reply other threads:[~2021-02-06 15:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-06 15:18 [PATCH 1/5] sched: make struct task_struct::state 32-bit Alexey Dobriyan
2021-02-06 15:20 ` [PATCH 2/5] sched: make nr_running() return 32-bit Alexey Dobriyan
2021-02-06 15:22 ` [PATCH 3/5] sched: make nr_iowait() return 32-bit value Alexey Dobriyan
2021-02-06 15:24 ` [PATCH 4/5] sched: make nr_iowait_cpu() return 32-bit Alexey Dobriyan
2021-02-06 15:30 ` Alexey Dobriyan [this message]
2021-02-08 10:34 ` [PATCH 1/5] sched: make struct task_struct::state 32-bit Peter Zijlstra
2021-02-08 14:30 ` Alexey Dobriyan
2021-02-08 14:52 ` Alexey Dobriyan
2021-02-08 15:25 ` Peter Zijlstra
2021-02-08 16:45 ` Alexey Dobriyan
2021-02-08 10:39 ` Peter Zijlstra
2021-02-08 14:33 ` Alexey Dobriyan
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=20210206153011.GE487103@localhost.localdomain \
--to=adobriyan@gmail.com \
--cc=bristot@redhat.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.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 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.