On Thu, Oct 04, 2012 at 11:42:45PM +0200, Gregor Best wrote: > Hi people, > > after a (very) long time of silence on this, here's another go at it. This > time, > I basically started from scratch and used a bit of code by Christiano > Haesberth > which had been posted to tech@ a while ago to detect CPU topology on amd64 and > take that into account when moving processes between CPUs. > > This version has one single queue per CPU, getting rid of a) the one single > system > wide runqueue and b) the queue for expired processes. This simplifies things > a bit > and performs just as well as my previous versions (the only difference is the > order > in which expired procs get selected for running on a CPU). One advantage is > that > process selection is in O(log n) of the number of processes on the CPU and > depends > neither on the total number of processes nor the number of expired processes > in > the runqueue. > > The factors for the cost of moving a process between hardware threads, cpu > dies > and cpu packages are guesses now, I think those will have to be tuned further. > Sadly, I haven't had access to a multiprocessor machine with a more diverse > architecture than "a bunch of cores on the same die". > > I tested this on some more machines than before; a Core i5, an i7 and my Core > 2 > Duo and on all machines (perceived) interactivity was improved. The simplest > benchmark I used was playing back a 1080p version of Big Buck Bunny with > mplayer. > All machines I tested on had Intel graphics cards, one GM965 (on the > Core2Duo) and > the others were Sandy Bridge devices. On all of them, playback was smoother > with > the i7 being most visible. With the default scheduler, watching the movie was > a > big pain due to heavy frame-dropping, with my patch, the movie was watchable > (with > frame dropping only (barely) noticable in scenes with much movement). > > As before, I'm looking forward to anything you have to comment, especially > cool > benchmark ideas or the like.
With your patch, html5 videos on firefox are smoother, even the playback is better when I try firefox + dpb 2 jobs vs only firefox without your patch installed. I use i3wm, so I can't comment about the performance of a full desktop environment. My hardware: AMD A4-3400, 8GB, ATI Radeon HD 4350. Please, still working on this area :) -- Juan Francisco Cantero Hurtado http://juanfra.info