public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Performance of del_timer_sync
@ 2004-09-25 11:07 shobhit dayal
  2004-09-30 10:07 ` shobhit dayal
  0 siblings, 1 reply; 2+ messages in thread
From: shobhit dayal @ 2004-09-25 11:07 UTC (permalink / raw)
  To: linux-kernel; +Cc: geoff, akpm

This is with reference to the del_timer_sync patch submitted by Geoff
Gustafson http://lwn.net/Articles/84839/.

I profiled a postgress load on a 8p( 4 nodes) NUMA machine. This
profiler logs functions that access memory on remote nodes, and
del_timer_sync was one of the top few functions doing this. The culprit
is the for loop in del_timer_sync that reads the running_timer field of
the per cpu tvec_bases_t structure on all nodes in the system. It gets
invoked most times from del_singleshot_timer_sync.

Andrew Morton had suggested a patch for this, when the top callers to
del_timer sync were schedule_timeout and clear_timeout, the fix being
the  del_single_shot_timer_sync patch,  with the knowledge that
schedule_timeout and clear_timeout do not create timers that re-add
themselves.

This may not be enough, the problem is that schedule_timeout at most
times will call del_single_shot_timer_sync after the timer has expired.
This will cause del_timer to asume that the handler is running on some
cpu and del_timer_sync will still get invoked.

Ofcourse, it also means that del_timer_sync will continue to be a
hotspot as far as taking up cpu time is concerned.

I tried Geoff's patch and it does seem to improve performance.

Has anyone else seen del_timer_sync as a hotspot after the
del_singleshot_timer_sync patch?

regards
Shobhit



				


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

end of thread, other threads:[~2004-09-30  9:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-25 11:07 Performance of del_timer_sync shobhit dayal
2004-09-30 10:07 ` shobhit dayal

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