[Question] sched: Is nsecs_to_cputime valid?

From: Namhyung Kim
Date: Wed Jul 04 2012 - 23:09:17 EST

The following message is a courtesy copy of an article
that has been posted to gmane.linux.kernel as well.


When I look at kernel/sched/core.c, I found a dubious bit on the
nsecs_to_cputime macro. It's defined as:

#ifndef nsecs_to_cputime
# define nsecs_to_cputime(__nsecs) nsecs_to_jiffies(__nsecs)

While default implementation of jiffies_to_cputime (in
include/asm-generic/cputime.h) returns just the same vaule (w/
casting), some arch's (ia64, ppc and s390) define their own ones.
So nsecs_to_cputime on those arch's will end up returning time in
jiffies rather than cputime.

I see it depends on CONFIG_VIRT_CPU_ACCOUTING and ia64 and ppc use
the default j_to_ct when not defined. But it seems it's not obvious for
s390. Anyway I think converting the return value to cputime again is
need for self-containedness.

Am I missing something?

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/