From: Stephen Rothwell <sfr@canb•auug.org.au>
To: Thomas Gleixner <tglx@linutronix•de>, Ingo Molnar <mingo@elte•hu>,
"H. Peter Anvin" <hpa@zytor•com>,
Peter Zijlstra <peterz@infradead•org>,
"Rafael J. Wysocki" <rjw@rjwysocki•net>
Cc: linux-next@vger•kernel.org, linux-kernel@vger•kernel.org
Subject: linux-next: manual merge of the tip tree with the pm tree
Date: Fri, 11 Mar 2016 12:57:46 +1100 [thread overview]
Message-ID: <20160311125746.42e35ea8@canb.auug.org.au> (raw)
Hi all,
Today's linux-next merge of the tip tree got a conflict in:
kernel/sched/sched.h
between commit:
adaf9fcd1369 ("cpufreq: Move scheduler-related code to the sched directory")
from the pm tree and commit:
e9532e69b8d1 ("sched/cputime: Fix steal time accounting vs. CPU hotplug")
from the tip tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell
diff --cc kernel/sched/sched.h
index faf7e2758dd0,e6d4a3fa3660..000000000000
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@@ -1739,50 -1794,15 +1794,63 @@@ static inline u64 irq_time_read(int cpu
#endif /* CONFIG_64BIT */
#endif /* CONFIG_IRQ_TIME_ACCOUNTING */
+#ifdef CONFIG_CPU_FREQ
+DECLARE_PER_CPU(struct update_util_data *, cpufreq_update_util_data);
+
+/**
+ * cpufreq_update_util - Take a note about CPU utilization changes.
+ * @time: Current time.
+ * @util: Current utilization.
+ * @max: Utilization ceiling.
+ *
+ * This function is called by the scheduler on every invocation of
+ * update_load_avg() on the CPU whose utilization is being updated.
+ *
+ * It can only be called from RCU-sched read-side critical sections.
+ */
+static inline void cpufreq_update_util(u64 time, unsigned long util, unsigned long max)
+{
+ struct update_util_data *data;
+
+ data = rcu_dereference_sched(*this_cpu_ptr(&cpufreq_update_util_data));
+ if (data)
+ data->func(data, time, util, max);
+}
+
+/**
+ * cpufreq_trigger_update - Trigger CPU performance state evaluation if needed.
+ * @time: Current time.
+ *
+ * The way cpufreq is currently arranged requires it to evaluate the CPU
+ * performance state (frequency/voltage) on a regular basis to prevent it from
+ * being stuck in a completely inadequate performance level for too long.
+ * That is not guaranteed to happen if the updates are only triggered from CFS,
+ * though, because they may not be coming in if RT or deadline tasks are active
+ * all the time (or there are RT and DL tasks only).
+ *
+ * As a workaround for that issue, this function is called by the RT and DL
+ * sched classes to trigger extra cpufreq updates to prevent it from stalling,
+ * but that really is a band-aid. Going forward it should be replaced with
+ * solutions targeted more specifically at RT and DL tasks.
+ */
+static inline void cpufreq_trigger_update(u64 time)
+{
+ cpufreq_update_util(time, ULONG_MAX, 0);
+}
+#else
+static inline void cpufreq_update_util(u64 time, unsigned long util, unsigned long max) {}
+static inline void cpufreq_trigger_update(u64 time) {}
+#endif /* CONFIG_CPU_FREQ */
++
+ static inline void account_reset_rq(struct rq *rq)
+ {
+ #ifdef CONFIG_IRQ_TIME_ACCOUNTING
+ rq->prev_irq_time = 0;
+ #endif
+ #ifdef CONFIG_PARAVIRT
+ rq->prev_steal_time = 0;
+ #endif
+ #ifdef CONFIG_PARAVIRT_TIME_ACCOUNTING
+ rq->prev_steal_time_rq = 0;
+ #endif
+ }
next reply other threads:[~2016-03-11 1:57 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-11 1:57 Stephen Rothwell [this message]
2016-03-11 13:51 ` linux-next: manual merge of the tip tree with the pm tree Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2026-06-03 13:32 Mark Brown
2026-06-04 12:33 ` Frederic Weisbecker
2026-05-25 14:16 Mark Brown
2026-02-04 13:52 Mark Brown
2026-02-04 14:48 ` Wysocki, Rafael J
2026-02-04 14:56 ` Sebastian Andrzej Siewior
2025-05-16 6:15 Stephen Rothwell
2025-05-16 7:54 ` Ingo Molnar
2025-05-16 9:54 ` Stephen Rothwell
2025-05-16 12:45 ` Ingo Molnar
2025-05-28 3:52 ` Stephen Rothwell
2025-05-12 4:55 Stephen Rothwell
2025-05-12 5:23 ` Stephen Rothwell
2025-05-12 20:45 ` Mario Limonciello
2025-05-15 15:49 ` Ingo Molnar
2025-05-15 15:50 ` Mario Limonciello
2025-05-28 3:50 ` Stephen Rothwell
2025-05-28 14:14 ` Limonciello, Mario
2025-05-28 22:12 ` Stephen Rothwell
2025-05-01 3:58 Stephen Rothwell
2025-05-06 15:07 ` Wysocki, Rafael J
2025-05-06 17:43 ` Ingo Molnar
2025-04-17 3:43 Stephen Rothwell
2025-04-17 11:22 ` Ingo Molnar
2024-07-02 4:15 Stephen Rothwell
2024-07-02 9:25 ` Borislav Petkov
2024-07-17 1:41 ` Stephen Rothwell
2024-07-17 2:33 ` srinivas pandruvada
2024-07-17 9:49 ` Borislav Petkov
2024-06-24 17:06 Mark Brown
2024-06-25 3:00 ` Xiaojian Du
2024-06-25 4:25 ` Borislav Petkov
2024-06-25 4:51 ` Xiaojian Du
2021-02-17 5:07 Stephen Rothwell
2021-02-17 10:15 ` Andy Shevchenko
2021-02-22 0:34 ` Stephen Rothwell
2018-10-08 2:44 Stephen Rothwell
2018-10-08 10:06 ` Rafael J. Wysocki
2018-10-08 10:34 ` Andy Shevchenko
2018-10-08 2:40 Stephen Rothwell
2018-10-08 10:05 ` Rafael J. Wysocki
2018-10-08 10:41 ` Andy Shevchenko
2018-03-23 2:20 Stephen Rothwell
2018-03-23 6:09 ` Ingo Molnar
2018-03-23 21:09 ` Rafael J. Wysocki
2018-03-24 8:15 ` Ingo Molnar
2017-11-06 2:10 Stephen Rothwell
2017-11-06 13:09 ` Rafael J. Wysocki
2017-08-11 4:06 Stephen Rothwell
2017-09-04 4:43 ` Stephen Rothwell
2016-11-22 5:48 Stephen Rothwell
2016-06-09 4:34 Stephen Rothwell
2016-04-19 2:59 Stephen Rothwell
2016-03-15 1:55 Stephen Rothwell
2016-02-29 4:42 Stephen Rothwell
2015-10-06 3:07 Stephen Rothwell
2015-03-31 7:58 Stephen Rothwell
2015-03-31 22:23 ` Rafael J. Wysocki
2015-03-31 7:10 Stephen Rothwell
2014-12-15 2:30 Stephen Rothwell
2014-11-25 5:46 Stephen Rothwell
2014-11-25 21:16 ` Rafael J. Wysocki
2014-08-04 6:55 Stephen Rothwell
2014-05-09 4:49 Stephen Rothwell
2014-01-13 3:29 Stephen Rothwell
2014-01-07 4:20 Stephen Rothwell
2014-01-06 7:18 Stephen Rothwell
2013-08-19 4:09 Stephen Rothwell
2013-04-11 4:08 Stephen Rothwell
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=20160311125746.42e35ea8@canb.auug.org.au \
--to=sfr@canb$(echo .)auug.org.au \
--cc=hpa@zytor$(echo .)com \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-next@vger$(echo .)kernel.org \
--cc=mingo@elte$(echo .)hu \
--cc=peterz@infradead$(echo .)org \
--cc=rjw@rjwysocki$(echo .)net \
--cc=tglx@linutronix$(echo .)de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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