Re: [PATCH] cpufreq: ondemand ignore_nice_level

From: Peter Zijlstra
Date: Tue Aug 09 2011 - 06:13:05 EST


How very good of you to CC all the relevant maintainers..

On Mon, 2011-08-08 at 22:41 +0300, joni@xxxxxxxxxxxx wrote:
> @@ -3755,7 +3755,7 @@ unsigned long long thread_group_sched_runtime(struct task_struct *p)
> * @cputime_scaled: cputime scaled by cpu frequency
> */
> void account_user_time(struct task_struct *p, cputime_t cputime,
> - cputime_t cputime_scaled)
> + cputime_t cputime_scaled)
> {
> struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
> cputime64_t tmp;

I'm very sure the old alignment was preferred.

> @@ -3769,9 +3769,11 @@ void account_user_time(struct task_struct *p, cputime_t cputime,
> tmp = cputime_to_cputime64(cputime);
> if (TASK_NICE(p) > 0)
> cpustat->nice = cputime64_add(cpustat->nice, tmp);
> - else
> + else
> cpustat->user = cputime64_add(cpustat->user, tmp);
>
> + cpustat->nicevalue[TASK_USER_PRIO(p)] = cputime64_add(cpustat->nicevalue[TASK_USER_PRIO(p)], tmp);
> +
> cpuacct_update_stats(p, CPUACCT_STAT_USER, cputime);
> /* Account for user time used */
> acct_update_integrals(p);

Yay! more senseless accounting.. we really need more of that. What's
even better is your data array being 320 bytes spanning 5 cachelines,
and thus the above almost guarantees a cacheline miss.

All round good stuff, and as DaveJ already pointed out, all without any
justification what so ever.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/