[linux-audio-user] Re: [Jackit-devel] 2.6.10

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-user] Re: [Jackit-devel] 2.6.10
From: Rui Nuno Capela (rncbc_AT_rncbc.org)
Date: Thu Dec 30 2004 - 13:19:14 EET


Hi,

As posted before on LKML, here goes my contained jackd test-suite (see
attached tarball, jackd_test3.2.tar.gz).

The provided shell script, can be issued from the command line as:

  ./jack_test3_run.sh [secs] [clients] [ports] [period]

where:

  secs - number of seconds to run jackd workload (default = 300)
  clients - number of test-clients to run (default = 20)
  ports - number of interface ports per client (default = 4)
  period - number of frames per buffer (default = 64)

Each test client (jack_test3_client) registers the same number of input and
output ports (default is 4ins x 4outs), where each output is the audio mix
of all inputs.

The jack_test_run.sh script sets this jackd maximum port limit
number as it sees fit, so any number of clients is allowed, provided
there's enough CPU and/or RAM ;)

Each test run produces a kernel-timestamped log filename with the complete
captured stdout/err. Consolidated results can be produced by feeding
several of those logfiles into the jack_test3_consolidated.awk script,
just like this:

  cat *.log | awk -f jack_test3_consolidated.awk

Additionally, if gnuplot is available, a graphical log chart is written
as a PNG output file, for your eyes pleasure. You can (re)generate any chart
for any log filename (and only one), by issuing the following script
command line:

  ./jack_test3_plot.sh <logfilename>

Now, let's get to the point. With the default workload (20 clients * 4 * 4
ports) I've ran it against a Con Kolivas' 2.6.10-cko1 patched kernel and
the real jewel as is latest 2.6.10-rc3-mm1-RT-V0.7.33-04, which is Ingo
Molnar's full PREEMPT_RT patched kernel. The tests were conducted on my
P4_AT_2.5G laptop, against the on-board alsa driver (snd-ali5451).

The jackd command line is therefore:

  jackd -v -R -P60 -dalsa -dhw:0 -r44100 -p64 -n2 -S -P

The results speak for themselves :)

                                  2.6.10-cko1 RT-V0.7.33-04
                                  ------------- -------------
  Timeout Rate . . . . . . . . : ( 0.0) ( 0.0) /hour
  XRUN Rate . . . . . . . . . . : 216.8 2.2 /hour
  Delay Rate (>spare time) . . : 395.2 0.0 /hour
  Delay Rate (>1000 usecs) . . : 375.8 0.0 /hour
  Delay Maximum . . . . . . . . : 4320 308 usecs
  Cycle Maximum . . . . . . . . : 845 1051 usecs
  Average DSP Load. . . . . . . : 44.0 50.2 %
  Average CPU System Load . . . : 14.4 31.7 %
  Average CPU User Load . . . . : 19.8 21.4 %
  Average CPU Nice Load . . . . : 0.0 0.0 %
  Average CPU I/O Wait Load . . : 0.1 0.1 %
  Average CPU IRQ Load . . . . : 0.0 0.0 %
  Average CPU Soft-IRQ Load . . : 0.0 0.0 %
  Average Interrupt Rate . . . : 1691.7 1692.6 /sec
  Average Context-Switch Rate . : 13368.8 18213.9 /sec

So, bottom-line goes like this: even though vanilla is getting a little
more tasty, Ingo's RT patch performance beats it up by orders of
magnitune. Nuff said. ;)

-- 
rncbc aka Rui Nuno Capela
rncbc_AT_rncbc.org



New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Dec 30 2004 - 13:33:03 EET