Con Kolivas wrote: > > Ok this one is heavily tested. Please try it when you find the time.
It's better, but still skewed. Try two chew.c's; they account 80% each. > --- > Currently we only do cpu accounting to userspace based on what is > actually happening precisely on each tick. The accuracy of that > accounting gets progressively worse the lower HZ is. As we already keep > accounting of nanosecond resolution we can accurately track user cpu, > nice cpu and idle cpu if we move the accounting to update_cpu_clock with > a nanosecond cpu_usage_stat entry. That's great and much needed, but this is still probed; so what's wrong with doing it in-lined? > This increases overhead slightly but > avoids the problem of tick aliasing errors making accounting unreliable. Higher scheduling accuracy may actually offset any overhead incurred, so it's well worth it; and if it's in-lined it should mean even less overhead. > + /* Sanity check. It should never go backwards or ruin accounting > */ + if (unlikely(now < p->last_ran)) > + goto out_set; If sched_clock() goes backwards, why not fix it, instead of hacking around it? Thanks! -- Al - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/