Messages in this thread | | | Date | Fri, 07 Mar 2003 08:45:22 +0100 | From | Mike Galbraith <> | Subject | Re: [patch] "HT scheduler", sched-2.5.63-B3 |
| |
At 12:42 PM 3/6/2003 -0800, Andrew Morton wrote: >Ingo's combo patch is better still - that is sched-2.5.64-a5 and your patch >combined (yes?). The slight mouse jerkiness is gone and even when doing >really silly things I cannot make it misbehave at all. I'd handwavingly >describe both your patch and sched-2.5.64-a5 as 80% solutions, and the combo >95%.
Weeeeell, FWIW my box (p3-500/128mb/rage128) disagrees.
I can still barely control the box when a make -j5 bzImage is running under X/KDE in one terminal and a vmstat (SCHED_RR) in another. I'm not swapping, though a bit of idle junk does page out. IOW, I think I'm seeing serious cpu starvation.
For reference, I used to be able to easily control the same box under X while swapping moderately at make -j15 (during page aging vm days), and with a heavily twiddled VM at even -j30 (_way_ overloaded with X oinkers running). At -j5, gui/icky was quite usable.
With the make -j30 bzImage, heavy load which does _hit_ VM saturation but not constantly, I see what I can only describe as starvation. vmstat output for this load is definitely abby-normal, and there's no way /proc/vmstat should look like the attached. It takes forever to build enough vm pressure that swap is touched (bad bad bad), and the volume reached is way low. My hungry little cc1's are not sharing resources the way they should be (methinks).
With earlier versions of Ingo's patch, I was only able to get memory pressure up to where it should be by drastically reducing timeslice (at the expense of turning throughput to crud). Take this with a giant economy sized grain of salt, but what I _think_ (no, I haven't instrumented it) is happening is that chunks of the total job are being rescheduled in front of the rest of the job such that they alloc/use/exit before the other guys can alloc. (geez that's a nebulous WAG;)
-Mike (please torch me if I'm being stupid;) box = p3/500/128MB fresh boot time make -j30 bzImage cat /proc/vmstat
2.5.64-B3 2.5.64-virgin ------------------------------------------ nr_dirty 64 2448 nr_writeback 0 0 nr_pagecache 7432 7562 nr_page_table_pages 85 85 nr_reverse_maps 3348 3177 nr_mapped 634 579 nr_slab 1239 1235 pgpgin 288560 692725 pgpgout 228803 587572 pswpin 30734 116097 pswpout 47347 138888 pgalloc 918016 1046369 pgfree 940744 1068983 pgactivate 28577 45566 pgdeactivate 55265 172833 pgfault 1579517 1682466 pgmajfault 8463 28137 pgscan 556041 1678315 pgrefill 211542 643564 pgsteal 77311 194216 pginodesteal 0 0 kswapd_steal 73454 173378 kswapd_inodesteal 11069 11317 pageoutrun 222 509 allocstall 85 480 pgrotated 49798 140956
| |