public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* sched_clock -> check_tsc_unstable -> tsc_read_c3_time ?!?
@ 2005-10-13 20:01 Lee Revell
  2005-10-13 20:11 ` john stultz
  0 siblings, 1 reply; 4+ messages in thread
From: Lee Revell @ 2005-10-13 20:01 UTC (permalink / raw)
  To: linux-kernel; +Cc: john stultz, Ingo Molnar

Looking at the latency traces it appears that sched_clock could be
optimized a bit:

evolutio-16296 0D.h4   32us : activate_task (try_to_wake_up)
evolutio-16296 0D.h4   33us : sched_clock (activate_task)
evolutio-16296 0D.h4   33us : check_tsc_unstable (sched_clock)
evolutio-16296 0D.h4   34us : tsc_read_c3_time (sched_clock)
evolutio-16296 0D.h4   35us : recalc_task_prio (activate_task)

check_tsc_unstable and tsc_read_c3_time appear to be new.  Here they
are:

     49 /* Code to mark and check if the TSC is unstable
     50  * due to cpufreq or due to unsynced TSCs
     51  */
     52 static int tsc_unstable;
     53 int check_tsc_unstable(void)
     54 {
     55         return tsc_unstable;
     56 }

     73 u64 tsc_read_c3_time(void)
     74 {
     75         return tsc_c3_offset;
     76 }

Shouldn't these be inlined or something?  I know it's only a few
microseconds, but it seems like excessive function call overhead to me.
I don't use power management and the TSC is stable on this machine.  Why
do we have to call these simple accessor functions over and over?

Lee


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-10-14  4:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-13 20:01 sched_clock -> check_tsc_unstable -> tsc_read_c3_time ?!? Lee Revell
2005-10-13 20:11 ` john stultz
2005-10-13 20:13   ` Lee Revell
2005-10-14  4:35     ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox