diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-12-19 13:23:15 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-12-19 13:23:15 -0500 |
commit | 612ef28a045efadb3a98d4492ead7806a146485d (patch) | |
tree | 05621c87b37e91c27b06d450d76adffe97ce9666 /drivers/cpufreq/cpufreq_conservative.c | |
parent | c3e0ef9a298e028a82ada28101ccd5cf64d209ee (diff) | |
parent | 07cde2608a3b5c66515363f1b53623b1536b9785 (diff) |
Merge branch 'sched/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into cputime-tip
Conflicts:
drivers/cpufreq/cpufreq_conservative.c
drivers/cpufreq/cpufreq_ondemand.c
drivers/macintosh/rack-meter.c
fs/proc/stat.c
fs/proc/uptime.c
kernel/sched/core.c
Diffstat (limited to 'drivers/cpufreq/cpufreq_conservative.c')
-rw-r--r-- | drivers/cpufreq/cpufreq_conservative.c | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c index 7f31a031c0b5..235a340e81f2 100644 --- a/drivers/cpufreq/cpufreq_conservative.c +++ b/drivers/cpufreq/cpufreq_conservative.c | |||
@@ -95,26 +95,26 @@ static struct dbs_tuners { | |||
95 | .freq_step = 5, | 95 | .freq_step = 5, |
96 | }; | 96 | }; |
97 | 97 | ||
98 | static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu, | 98 | static inline u64 get_cpu_idle_time_jiffy(unsigned int cpu, u64 *wall) |
99 | cputime64_t *wall) | ||
100 | { | 99 | { |
101 | cputime64_t idle_time; | 100 | u64 idle_time; |
102 | cputime64_t cur_wall_time; | 101 | u64 cur_wall_time; |
103 | cputime64_t busy_time; | 102 | u64 busy_time; |
104 | 103 | ||
105 | cur_wall_time = jiffies64_to_cputime64(get_jiffies_64()); | 104 | cur_wall_time = jiffies64_to_cputime64(get_jiffies_64()); |
106 | busy_time = kstat_cpu(cpu).cpustat.user; | 105 | |
107 | busy_time += kstat_cpu(cpu).cpustat.system; | 106 | busy_time = kcpustat_cpu(cpu).cpustat[CPUTIME_USER]; |
108 | busy_time += kstat_cpu(cpu).cpustat.irq; | 107 | busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_SYSTEM]; |
109 | busy_time += kstat_cpu(cpu).cpustat.softirq; | 108 | busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_IRQ]; |
110 | busy_time += kstat_cpu(cpu).cpustat.steal; | 109 | busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_SOFTIRQ]; |
111 | busy_time += kstat_cpu(cpu).cpustat.nice; | 110 | busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_STEAL]; |
111 | busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_NICE]; | ||
112 | 112 | ||
113 | idle_time = cur_wall_time - busy_time; | 113 | idle_time = cur_wall_time - busy_time; |
114 | if (wall) | 114 | if (wall) |
115 | *wall = (cputime64_t)jiffies_to_usecs(cur_wall_time); | 115 | *wall = jiffies_to_usecs(cur_wall_time); |
116 | 116 | ||
117 | return (cputime64_t)jiffies_to_usecs(idle_time); | 117 | return jiffies_to_usecs(idle_time); |
118 | } | 118 | } |
119 | 119 | ||
120 | static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall) | 120 | static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall) |
@@ -271,7 +271,7 @@ static ssize_t store_ignore_nice_load(struct kobject *a, struct attribute *b, | |||
271 | dbs_info->prev_cpu_idle = get_cpu_idle_time(j, | 271 | dbs_info->prev_cpu_idle = get_cpu_idle_time(j, |
272 | &dbs_info->prev_cpu_wall); | 272 | &dbs_info->prev_cpu_wall); |
273 | if (dbs_tuners_ins.ignore_nice) | 273 | if (dbs_tuners_ins.ignore_nice) |
274 | dbs_info->prev_cpu_nice = kstat_cpu(j).cpustat.nice; | 274 | dbs_info->prev_cpu_nice = kcpustat_cpu(j).cpustat[CPUTIME_NICE]; |
275 | } | 275 | } |
276 | return count; | 276 | return count; |
277 | } | 277 | } |
@@ -361,11 +361,11 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) | |||
361 | j_dbs_info->prev_cpu_idle = cur_idle_time; | 361 | j_dbs_info->prev_cpu_idle = cur_idle_time; |
362 | 362 | ||
363 | if (dbs_tuners_ins.ignore_nice) { | 363 | if (dbs_tuners_ins.ignore_nice) { |
364 | cputime64_t cur_nice; | 364 | u64 cur_nice; |
365 | unsigned long cur_nice_jiffies; | 365 | unsigned long cur_nice_jiffies; |
366 | 366 | ||
367 | cur_nice = kstat_cpu(j).cpustat.nice - | 367 | cur_nice = kcpustat_cpu(j).cpustat[CPUTIME_NICE] - |
368 | j_dbs_info->prev_cpu_nice; | 368 | j_dbs_info->prev_cpu_nice; |
369 | /* | 369 | /* |
370 | * Assumption: nice time between sampling periods will | 370 | * Assumption: nice time between sampling periods will |
371 | * be less than 2^32 jiffies for 32 bit sys | 371 | * be less than 2^32 jiffies for 32 bit sys |
@@ -373,7 +373,7 @@ static void dbs_check_cpu(struct cpu_dbs_info_s *this_dbs_info) | |||
373 | cur_nice_jiffies = (unsigned long) | 373 | cur_nice_jiffies = (unsigned long) |
374 | cputime64_to_jiffies64(cur_nice); | 374 | cputime64_to_jiffies64(cur_nice); |
375 | 375 | ||
376 | j_dbs_info->prev_cpu_nice = kstat_cpu(j).cpustat.nice; | 376 | j_dbs_info->prev_cpu_nice = kcpustat_cpu(j).cpustat[CPUTIME_NICE]; |
377 | idle_time += jiffies_to_usecs(cur_nice_jiffies); | 377 | idle_time += jiffies_to_usecs(cur_nice_jiffies); |
378 | } | 378 | } |
379 | 379 | ||
@@ -500,10 +500,9 @@ static int cpufreq_governor_dbs(struct cpufreq_policy *policy, | |||
500 | 500 | ||
501 | j_dbs_info->prev_cpu_idle = get_cpu_idle_time(j, | 501 | j_dbs_info->prev_cpu_idle = get_cpu_idle_time(j, |
502 | &j_dbs_info->prev_cpu_wall); | 502 | &j_dbs_info->prev_cpu_wall); |
503 | if (dbs_tuners_ins.ignore_nice) { | 503 | if (dbs_tuners_ins.ignore_nice) |
504 | j_dbs_info->prev_cpu_nice = | 504 | j_dbs_info->prev_cpu_nice = |
505 | kstat_cpu(j).cpustat.nice; | 505 | kcpustat_cpu(j).cpustat[CPUTIME_NICE]; |
506 | } | ||
507 | } | 506 | } |
508 | this_dbs_info->down_skip = 0; | 507 | this_dbs_info->down_skip = 0; |
509 | this_dbs_info->requested_freq = policy->cur; | 508 | this_dbs_info->requested_freq = policy->cur; |