Messages in this thread | | | Date | Sun, 20 Sep 2009 20:10:41 +0200 | From | Ingo Molnar <> | Subject | Re: BFS vs. mainline scheduler benchmarks and measurements |
| |
* Felix Fietkau <nbd@openwrt.org> wrote:
> Ingo Molnar wrote: > > * Felix Fietkau <nbd@openwrt.org> wrote: > > > >> Ingo Molnar wrote: > >> > * Felix Fietkau <nbd@openwrt.org> wrote: > >> >> I did some tests with BFS v230 vs CFS on Linux 2.6.30 on a different > >> >> MIPS device (Atheros AR2317) with 180 MHz and 16 MB RAM. When running > >> >> iperf tests, I consistently get the following results when running the > >> >> transfer from the device to my laptop: > >> >> > >> >> CFS: [ 5] 0.0-60.0 sec 107 MBytes 15.0 Mbits/sec > >> >> BFS: [ 5] 0.0-60.0 sec 119 MBytes 16.6 Mbits/sec > >> >> > >> >> The transfer speed from my laptop to the device are the same with BFS > >> >> and CFS. I repeated the tests a few times just to be sure, and I will > >> >> check vmstat later. > >> > > >> > Which exact mainline kernel have you tried? For anything performance > >> > related running latest upstream -git (currently at 202c467) would be > >> > recommended. > >> > >> I used the OpenWrt-patched 2.6.30. Support for the hardware that I > >> tested with hasn't been merged upstream yet. Do you think that the > >> scheduler related changes after 2.6.30 are relevant for non-SMP > >> performance as well? If so, I'll work on a test with latest upstream > >> -git with the necessary patches when I have time for it. > > > > Dont know - it's hard to tell what happens without basic analysis tools. > > Is there _any_ way to profile what happens on that system? (Do hrtimers > > work on it that could be used to profile it?) > > oprofile doesn't have any support for it (mips r4k, no generic > perfcounters), the only usable clock source is a simple cpu cycle > counter (which is also used for the timer interrupt).
A simple cpu cycle counter ought to be enough to get pretty good perfcounters support going on that box.
It takes a surprisingly small amount of code to do that, and a large portion of the perf tooling should then work out of box. Here's a few example commits of minimal perfcounters support, on other architectures:
310d6b6: [S390] wire up sys_perf_counter_open 2d4618d: parisc: perf: wire up sys_perf_counter_open 19470e1: sh: Wire up sys_perf_counter_open.
Takes about 15 well placed lines of code, if there are no other complications on MIPS ;-)
Ingo
| |