Performance Tracker project update
Kris Kennaway
kris at FreeBSD.org
Wed Jan 23 11:11:17 PST 2008
Erik Cederstrand wrote:
> Kris Kennaway wrote:
>>
>> This is coming along very nicely indeed!
>>
>> One suggestion I have is that as more metrics are added it becomes
>> important for an "at a glance" overview of changes so we can monitor
>> for performance improvements and regressions among many workloads.
> >
>> One way to do this would be a matrix of each metric with its change
>> compared to recent samples. e.g. you could do a student's T
>> comparison of today's numbers with those from yesterday, or from a
>> week ago, and colour-code those that show a significant deviation from
>> "no change". This might be a bit noisy on short timescales, so you
>> could aggregrate data into larger bins and compare e.g. moving 1-week
>> aggregates. Fluctuations on short timescales won't stand out, but if
>> there is a real change then it will show up less than a week later.
>
> I agree that there's a need for an overview and some sort of
> notification. I've been collecting historical data to get a baseline for
> the statistics and I'll try to see what I can do over the next weeks.
>
>> These significant events could also be graphed themselves and/or a
>> history log maintained (or automatically annotated on the individual
>> graphs) so historical changes can also be pinpointed.
>>
>> At some point the ability to annotate the data will become important
>> (e.g. "We understand the cause of this, it was r1.123 of foo.c, which
>> was corrected in r1.124. The developer responsible has been shot.")
>
> There's a field in the database for this sort of thing. I just think it
> needs some sort of authentication. That'll have to wait a bit.
Sounds good.
>> P.S. If I understand correctly, the float test shows a regression?
>> The metric is calculations/second, so higher = better?
>
> The documentation on Unixbench is scarce, but I would think so.
Interesting. Some candidate changes from 2007-10-02:
Modified files:
contrib/gcc opts.c
Log:
Do not imply -ftree-vrp with -O2 and above. One must implicitly specify
'-ftree-vrp' if one wants it.
Some bad code generation has been tracked to -ftree-vrp. jdk1{5,6} are
notable examples.
sys/kern sched_ule.c
Log:
- Move the rebalancer back into hardclock to prevent potential softclock
starvation caused by unbalanced interrupt loads.
- Change the rebalancer to work on stathz ticks but retain
randomization.
- Simplify locking in tdq_idled() to use the tdq_lock_pair() rather than
complex sequences of locks to avoid deadlock.
sys/kern sched_ule.c
Log:
- Reassign the thread queue lock to newtd prior to switching. Assigning
after the switch leads to a race where the outgoing thread still owns
the local queue lock while another cpu may switch it in. This race
is only possible on machines where cpu_switch can take significantly
longer on different cpus which in practice means HTT machines with
unfair thread scheduling algorithms.
Is anyone else able to look into this?
> BTW if anyone's interested my SVN repo is online at:
>
> svn://littlebit.dk/website/trunk (Pylons project)
> svn://littlebit.dk/tracker/trunk (sh/Python scripts for runnning the
> server and slaves)
>
> Be careful with your eyes - this is my first attempt at both shell
> scripting and Python :-)
:)
Kris
More information about the freebsd-performance
mailing list