public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Context switch times
@ 2001-10-04 21:04 Mike Kravetz
  2001-10-04 21:14 ` arjan
  0 siblings, 1 reply; 62+ messages in thread
From: Mike Kravetz @ 2001-10-04 21:04 UTC (permalink / raw)
  To: linux-kernel

I've been working on a rewrite of our Multi-Queue scheduler
and am using the lat_ctx program of LMbench as a benchmark.
I'm lucky enough to have access to an 8-CPU system for use
during development.  One time, I 'accidently' booted the
kernel that came with the distribution installed on this
machine.  That kernel level is '2.2.16-22'.  The results of
running lat-ctx on this kernel when compared to 2.4.10 really
surprised me.  Here is an example:

2.4.10 on 8 CPUs:  lat_ctx -s 0 -r 2 results
"size=0k ovr=2.27
2 3.86

2.2.16-22 on 8 CPUS:  lat_ctx -s 0 -r 2 results
"size=0k ovr=1.99
2 1.44

As you can see, the context switch times for 2.4.10 are more
than double what they were for 2.2.16-22 in this example.  

Comments?

One observation I did make is that this may be related to CPU
affinity/cache warmth.  If you increase the number of 'TRIPS'
to a very large number, you can run 'top' and observe per-CPU
utilization.  On 2.2.16-22, the '2 task' benchmark seemed to
stay on 3 of the 8 CPUs.  On 2.4.10, these 2 tasks were run
on all 8 CPUs and utilization was about the same for each CPU.

-- 
Mike Kravetz                                  kravetz@us.ibm.com
IBM Peace, Love and Linux Technology Center

^ permalink raw reply	[flat|nested] 62+ messages in thread
* Re: Context switch times
@ 2001-10-05  6:31 Michailidis, Dimitrios
  0 siblings, 0 replies; 62+ messages in thread
From: Michailidis, Dimitrios @ 2001-10-05  6:31 UTC (permalink / raw)
  To: 'kravetz@us.ibm.com'; +Cc: 'linux-kernel@vger.kernel.org'

> I believe the 'quick and dirty' patches we came up with substantially
> increased context switch times for this benchmark (doubled them).
> The reason is that you needed to add IPI time to the context switch
> time.  Therefore, I did not actively pursue getting these accepted. :)
> It appears that something in the 2.2 scheduler did a much better
> job of handling this situation.  I haven't looked at the 2.2 code.
> Does anyone know what feature of the 2.2 scheduler was more successful
> in keeping tasks on the CPUs on which they previously executed?
> Also, why was that code removed from 2.4?  I can research, but I
> suspect someone here has firsthand knowledge.

The reason 2.2 does better is because under some conditions if a woken up
process's preferred CPU is busy it will refrain from moving it to another
CPU even if there are many idle CPUs, in the hope that the preferred CPU
will become available soon.  This can cause situations where processes are
sitting on the run queue while CPUs idle, but works great for lmbench.  OTOH
2.4 assigns processes to CPUs as soon as possible.  IIRC this change
happened in one of the early 2.3.4x kernels.

---
Dimitris Michailidis				 dm@desanasystems.com

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

end of thread, other threads:[~2001-10-11 12:53 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-04 21:04 Context switch times Mike Kravetz
2001-10-04 21:14 ` arjan
2001-10-04 21:25   ` David S. Miller
2001-10-04 21:39     ` Richard Gooch
2001-10-04 21:52       ` David S. Miller
2001-10-04 21:55         ` Benjamin LaHaise
2001-10-04 22:35           ` Davide Libenzi
2001-10-04 22:49             ` Mike Kravetz
2001-10-04 22:42           ` Linus Torvalds
2001-10-04 22:53             ` Benjamin LaHaise
2001-10-05 15:13               ` Alan Cox
2001-10-05 17:49                 ` george anzinger
2001-10-05 22:29                   ` Alan Cox
2001-10-05 22:56                     ` Davide Libenzi
2001-10-05 23:04                       ` Alan Cox
2001-10-05 23:16                         ` Davide Libenzi
2001-10-05 23:17                           ` Alan Cox
2001-10-05 23:21                             ` Davide Libenzi
2001-10-05 23:43                         ` Roger Larsson
2001-10-07  1:20                     ` george anzinger
2001-10-07  1:33                       ` Bill Davidsen
2001-10-07  9:56                       ` Alan Cox
2001-10-06  2:24                 ` Albert D. Cahalan
2001-10-06  2:57                   ` Davide Libenzi
2001-10-07  9:57                 ` Mika Liljeberg
2001-10-07 13:03                   ` Ingo Oeser
2001-10-07 13:48                     ` Mika Liljeberg
2001-10-07 14:24                       ` Ingo Oeser
2001-10-07 14:33                         ` Mika Liljeberg
2001-10-07 18:00                           ` george anzinger
2001-10-07 22:06                             ` Mika Liljeberg
2001-10-07 22:31                               ` Davide Libenzi
2001-10-07 22:33                                 ` Mika Liljeberg
2001-10-07 23:49                               ` george anzinger
2001-10-08 21:07                                 ` Mika Liljeberg
2001-10-08 22:54                                   ` discontig physical memory Petko Manolov
2001-10-08 23:05                                     ` David S. Miller
2001-10-08 23:18                                       ` Petko Manolov
2001-10-08 23:29                                         ` David S. Miller
2001-10-09  0:34                                           ` Petko Manolov
2001-10-09  0:36                                           ` Petko Manolov
2001-10-09  1:37                                             ` David S. Miller
2001-10-09  2:43                                               ` Petko Manolov
2001-10-08 15:19                           ` Context switch times bill davidsen
2001-10-10  6:07                             ` Mike Fedyk
2001-10-07 18:39                   ` Davide Libenzi
2001-10-09 20:37                   ` Hubertus Franke
2001-10-09 23:50                     ` george anzinger
2001-10-11 10:52                       ` Hubertus Franke
2001-10-04 23:41             ` Mike Kravetz
2001-10-04 23:50               ` Linus Torvalds
2001-10-05 15:15                 ` Eric W. Biederman
2001-10-04 23:56               ` Davide Libenzi
2001-10-05  0:45               ` Andrea Arcangeli
2001-10-05  4:35                 ` Mike Kravetz
2001-10-07 17:59                   ` Andrea Arcangeli
2001-10-07 19:54                     ` george anzinger
2001-10-07 20:24                       ` Andrea Arcangeli
2001-10-09  4:55         ` Richard Gooch
2001-10-09  5:00           ` David S. Miller
2001-10-09 13:49           ` bill davidsen
  -- strict thread matches above, loose matches on Subject: below --
2001-10-05  6:31 Michailidis, Dimitrios

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