On Sat, 06 Jun 2009 22:38:13 +0200, Stephan Assmus said: > On 2009-06-07 at 00:13:42 [+0200], Cyan <cyanh256@xxxxxxxxxxxx> wrote: > > I posted a scheduler timing test app the last time this topic came > > up ( > > http://knothole.no-ip.org/timingtest.zip ) which got a few > > downloads, but > > I haven't heard of anyone running this under Haiku yet. Did anyone > > try it? > > Interesting. This is a run I did when the machine was totally idle > otherwise: These are my results with an idle system just after boot: System "idle" : Version 1.0 Idle, no CPU load random test... 47µs jitter [excellent] Idle, no CPU load 100Hz test.... 14µs jitter [earth-shattering!] Idle, no CPU load 1kHz test..... 47µs jitter [excellent] Pulsed normal load random test... 42µs jitter [excellent] Pulsed normal load 100Hz test.... 16µs jitter [earth-shattering!] Pulsed normal load 1kHz test..... 46µs jitter [excellent] Steady normal load random test... 10µs jitter [earth-shattering!] Steady normal load 100Hz test.... 8µs jitter [earth-shattering!] Steady normal load 1kHz test..... 14µs jitter [earth-shattering!] Pulsed urgent load random test... 15µs jitter [earth-shattering!] Pulsed urgent load 100Hz test.... 45µs jitter [excellent] Pulsed urgent load 1kHz test..... 52µs jitter [excellent] Steady urgent load random test... 11µs jitter [earth-shattering!] Steady urgent load 100Hz test.... 9µs jitter [earth-shattering!] Steady urgent load 1kHz test..... 33µs jitter [excellent] Pulsed R. T. load random test... 45µs jitter [excellent] Pulsed R. T. load 100Hz test.... 55µs jitter [excellent] Pulsed R. T. load 1kHz test..... 48µs jitter [excellent] Pulsed R.T.D. load random test... 46µs jitter [excellent] Pulsed R.T.D. load 100Hz test.... 46µs jitter [excellent] Pulsed R.T.D. load 1kHz test..... 47µs jitter [excellent] Please wait... Misc. system load random test... 108µs jitter [very good] Misc. system load 100Hz test.... 283µs jitter [okay] Misc. system load 1kHz test..... 454µs jitter [very poor] Overall rating: [very poor] It seems that whatever the "Misc. system load" tests are doing, we are bad at handling that. Other than that, I did notice something. First some background: I have a bad case of the problem where the system sometimes simply freezes up for a few seconds. It is noticeable because the entire desktop stops redrawing (mouse still works) and, for example, the Deskbar clock stops updating (I have show seconds enabled) and if Activity Monitor is running it also stops for the same period. My first theory about this was a scheduler problem, followed by a general IO problem and a memory allocation problem. it seems that although our scheduler is not shining right now, it is not responsible for what I see. Here is a run of the test where I performed a SVN up in the middle of it (usually the system freezes for a few seconds while svn is scanning the files and also at the end when it is probably cleaning itself up (removing the locks, for example). I don't remember seeing this when it was actually updating the files but I may have just missed it. Anyway: Version 1.0 Idle, no CPU load random test... 47µs jitter [excellent] Idle, no CPU load 100Hz test.... 14µs jitter [earth-shattering!] Idle, no CPU load 1kHz test..... 47µs jitter [excellent] Pulsed normal load random test... 42µs jitter [excellent] Pulsed normal load 100Hz test.... 16µs jitter [earth-shattering!] Pulsed normal load 1kHz test..... 46µs jitter [excellent] Steady normal load random test... 10µs jitter [earth-shattering!] Steady normal load 100Hz test.... 8µs jitter [earth-shattering!] Steady normal load 1kHz test..... 14µs jitter [earth-shattering!] Pulsed urgent load random test... 15µs jitter [earth-shattering!] Pulsed urgent load 100Hz test.... 45µs jitter [excellent] Pulsed urgent load 1kHz test..... 52µs jitter [excellent] Steady urgent load random test... 11µs jitter [earth-shattering!] Steady urgent load 100Hz test.... 9µs jitter [earth-shattering!] Steady urgent load 1kHz test..... 33µs jitter [excellent] Pulsed R. T. load random test... 45µs jitter [excellent] Pulsed R. T. load 100Hz test.... 55µs jitter [excellent] Pulsed R. T. load 1kHz test..... 48µs jitter [excellent] Pulsed R.T.D. load random test... 46µs jitter [excellent] Pulsed R.T.D. load 100Hz test.... 46µs jitter [excellent] Pulsed R.T.D. load 1kHz test..... 47µs jitter [excellent] Please wait... Misc. system load random test... 108µs jitter [very good] Misc. system load 100Hz test.... 283µs jitter [okay] Misc. system load 1kHz test..... 454µs jitter [very poor] Overall rating: [very poor] As you can see, as far as the scheduler is concerned, not much changed from one run to the other. Also, I wanted to attribute this to the work when flushing caches from time to time but this should not freeze the entire UI, right? Sysinfo output on this machine: Kernel name: kernel_x86 built on: Jun 4 2009 22:01:36 version 0x1 4 Intel Core 2 Extreme, revision 4676 running at 3673MHz (ID: 0x00000000 0x00000000) CPU #0: "Intel(R) Core(TM)2 Extreme CPU X9650 @ 3.00GHz" Type 0, family 6, model 23, stepping 6, features 0xbfebfbff FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CFLUSH DS ACPI MMX FXSTR SSE SSE2 SS HTT TM PBE Extended Intel: 0x0008e3bd SSE3 MONITOR DS-CPL EST TM2 CMPXCHG16B Extended AMD: type 0, family 0, model 0, stepping 0, features 0x20100000 NX 64 Power Management Features: L2 Data cache 8-way set associative, 1 lines/tag, 64 bytes/line L2 cache: 6144 KB, 16-way set associative, 0 lines/tag, 64 bytes/line Inst TLB: 2M-bytes pages, 4-way set associative, 8 entries OR 4M, 4-way, 4 entries Inst TLB: 4K-bytes pages, 4-way set associative, 128 entries Data TLB: 4M-byte pages, 4-way set associative, 32 entries 64-byte Prefetching L1 Data TLB: 4K-bytes pages, 4-way set associative, 16 entries L1 Data TLB: 4M-bytes pages, 4-way set associative, 16 entries L2 cache: 6144 KB, 24-way set associative, 64 bytes/line L1 inst cache: 32 KB, 8-way set associative, 64 bytes/line Data TLB: 4K-bytes pages, 4-way set associative, 256 entries L1 data cache: 32 KB, 8-way set associative, 64 bytes/line CPU #1: "Intel(R) Core(TM)2 Extreme CPU X9650 @ 3.00GHz" Type 0, family 6, model 23, stepping 6, features 0xbfebfbff FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CFLUSH DS ACPI MMX FXSTR SSE SSE2 SS HTT TM PBE Extended Intel: 0x0008e3bd SSE3 MONITOR DS-CPL EST TM2 CMPXCHG16B Extended AMD: type 0, family 0, model 0, stepping 0, features 0x20100000 NX 64 Power Management Features: L2 Data cache 8-way set associative, 1 lines/tag, 64 bytes/line L2 cache: 6144 KB, 16-way set associative, 0 lines/tag, 64 bytes/line Inst TLB: 2M-bytes pages, 4-way set associative, 8 entries OR 4M, 4-way, 4 entries Inst TLB: 4K-bytes pages, 4-way set associative, 128 entries Data TLB: 4M-byte pages, 4-way set associative, 32 entries 64-byte Prefetching L1 Data TLB: 4K-bytes pages, 4-way set associative, 16 entries L1 Data TLB: 4M-bytes pages, 4-way set associative, 16 entries L2 cache: 6144 KB, 24-way set associative, 64 bytes/line L1 inst cache: 32 KB, 8-way set associative, 64 bytes/line Data TLB: 4K-bytes pages, 4-way set associative, 256 entries L1 data cache: 32 KB, 8-way set associative, 64 bytes/line CPU #2: "Intel(R) Core(TM)2 Extreme CPU X9650 @ 3.00GHz" Type 0, family 6, model 23, stepping 6, features 0xbfebfbff FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CFLUSH DS ACPI MMX FXSTR SSE SSE2 SS HTT TM PBE Extended Intel: 0x0008e3bd SSE3 MONITOR DS-CPL EST TM2 CMPXCHG16B Extended AMD: type 0, family 0, model 0, stepping 0, features 0x20100000 NX 64 Power Management Features: L4 Unified cache 24-way set associative, 1 lines/tag, 64 bytes/ line L2 cache: 6144 KB, 16-way set associative, 0 lines/tag, 64 bytes/line Inst TLB: 2M-bytes pages, 4-way set associative, 8 entries OR 4M, 4-way, 4 entries Inst TLB: 4K-bytes pages, 4-way set associative, 128 entries Data TLB: 4M-byte pages, 4-way set associative, 32 entries 64-byte Prefetching L1 Data TLB: 4K-bytes pages, 4-way set associative, 16 entries L1 Data TLB: 4M-bytes pages, 4-way set associative, 16 entries L2 cache: 6144 KB, 24-way set associative, 64 bytes/line L1 inst cache: 32 KB, 8-way set associative, 64 bytes/line Data TLB: 4K-bytes pages, 4-way set associative, 256 entries L1 data cache: 32 KB, 8-way set associative, 64 bytes/line CPU #3: "Intel(R) Core(TM)2 Extreme CPU X9650 @ 3.00GHz" Type 0, family 6, model 23, stepping 6, features 0xbfebfbff FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CFLUSH DS ACPI MMX FXSTR SSE SSE2 SS HTT TM PBE Extended Intel: 0x0008e3bd SSE3 MONITOR DS-CPL EST TM2 CMPXCHG16B Extended AMD: type 0, family 0, model 0, stepping 0, features 0x20100000 NX 64 Power Management Features: L0 1-way set associative, 1 lines/tag, 1 bytes/line L2 cache: 6144 KB, 16-way set associative, 0 lines/tag, 64 bytes/line Inst TLB: 2M-bytes pages, 4-way set associative, 8 entries OR 4M, 4-way, 4 entries Inst TLB: 4K-bytes pages, 4-way set associative, 128 entries Data TLB: 4M-byte pages, 4-way set associative, 32 entries 64-byte Prefetching L1 Data TLB: 4K-bytes pages, 4-way set associative, 16 entries L1 Data TLB: 4M-bytes pages, 4-way set associative, 16 entries L2 cache: 6144 KB, 24-way set associative, 64 bytes/line L1 inst cache: 32 KB, 8-way set associative, 64 bytes/line Data TLB: 4K-bytes pages, 4-way set associative, 256 entries L1 data cache: 32 KB, 8-way set associative, 64 bytes/line 3009437696 bytes free (used/max 211263488 / 3220701184) (cached 325988352) 129153 semaphores free (used/max 1919 / 131072) 3920 ports free (used/max 176 / 4096) 3923 threads free (used/max 173 / 4096) 2026 teams free (used/max 22 / 2048) -Bruno