ANDROID: schedstats/eas: guard properly to avoid breaking non-smp schedstats users

Add appropriate #ifdef guards to ensure the smp-only easstats structs
are not used when smp is not enabled. Arnd got a report from buildbot,
analysed it, and pointed out exactly what the issue was.

Reported-by: "Arnd Bergmann" <arnd@arndb.de>
Suggested-by: "Arnd Bergmann" <arnd@arndb.de>
Fixes: 4b85765a3d ("sched/fair: Add eas (& cas)
 specific rq, sd and task stats")
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Change-Id: I60554dea20137f6774db3f59b4afd40a06554cfc
(cherry picked from commit fce0ecf04a)
[Fixed cherry-pick issue]
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
This commit is contained in:
Chris Redpath
2017-06-03 15:03:03 +01:00
committed by Andres Oportus
parent 293edee1ef
commit 385dcecbfd
2 changed files with 5 additions and 2 deletions

View File

@@ -768,9 +768,10 @@ struct rq {
/* try_to_wake_up() stats */
unsigned int ttwu_count;
unsigned int ttwu_local;
#ifdef CONFIG_SMP
struct eas_stats eas_stats;
#endif
#endif
#ifdef CONFIG_SMP
struct llist_head wake_list;

View File

@@ -12,6 +12,7 @@
*/
#define SCHEDSTAT_VERSION 15
#ifdef CONFIG_SMP
static inline void show_easstat(struct seq_file *seq, struct eas_stats *stats)
{
/* eas-specific runqueue stats */
@@ -31,6 +32,7 @@ static inline void show_easstat(struct seq_file *seq, struct eas_stats *stats)
seq_printf(seq, "%llu %llu\n",
stats->cas_attempts, stats->cas_count);
}
#endif
static int show_schedstat(struct seq_file *seq, void *v)
{
@@ -59,9 +61,9 @@ static int show_schedstat(struct seq_file *seq, void *v)
seq_printf(seq, "\n");
#ifdef CONFIG_SMP
show_easstat(seq, &rq->eas_stats);
#ifdef CONFIG_SMP
/* domain-specific stats */
rcu_read_lock();
for_each_domain(cpu, sd) {