Re: [PATCH]sched: Isochronous class v2 for unprivileged soft rt scheduling

From: Rui Nuno Capela (rncbc_at_rncbc.org)
Date: 01/20/05

  • Next message: Marcelo Tosatti: "Re: oom killer gone nuts"
    Date:	Thu, 20 Jan 2005 17:09:41 -0000 (WET)
    To: "Jack O'Quin" <joq@io.com>
    
    
    

    OK. Here goes my fresh and newly jack_test4.1 test suite. It might be
    still rough, as usual ;)

    (Jack: this post is an new edited version of the same I sent you last
    weekend; sorry for the noise:)

    The main difference against jack_test3.2 goes into the specific test client
    (jack_test4_client.c). That is, the client chain now tries to resemble a
    real audio chain.

    The first client runs as a signal generator, pumping ou a pure sinusoidal
    1Khz tone into all its ouput ports.

    The second and all following clients connect their input ports to the
    outputs of the preceding one. Each one of these clients work exactly as
    before, mixing all input into each output.

    Finally the last client of the chain, connects its output ports to the
    available terminal/physical inputs (e.g. alsa_pcm). This way the tone
    signal feeding can actually be heard on your speakers--but please take
    care of the effective output volume for not to hurt your precious ears :)

    The tone signal is specially in phase-sync along all client nodes,
    provided a sync pulse is propagated along the chain, but suppressed on
    that
    last node (the one which feeds the speakers).

    Each client, other than the first generator one, compares every single
    input frame against a self-generated one, checking for any extraneous
    noise/artifact. This difference is detected and exposed as a "Delta
    Maximum" value on the summary results--it should be always 0.00000, if not
    something really bad has occurred during the test.

    A fifth argument to the jack_test4_run.sh main script is also featured,
    giving the number of consecutive runs the whole test-chain-cycle is
    performed for the same jackd service session.

    The sixth argument is now the number of extra playback ports to be
    acquainted by jackd.

    Now the bad news .

    This new test-suite exposes a very nasty jackd behavior, which was rarely
    seen with the previous jack_test3.2 but now is pretty reproducible, at
    least on my laptop (P4@2.5Ghz/UP) under Ingo's 2.6.11-rc1-RT-V0.7.35-01
    (PREEMPT_RT).

    This phenomenon, so to speak, shows up as a sudden full increase of
    DSP/CPU load after a few minutes running jackd while perfectly normal and
    stable until that moment. Once that occurs, and it does now everytime I
    run jack_test4_run.sh with default parameters (14 clients, 4x4 ports), you
    end under a horrible XRUN storm--see attached chart--you can even hear it
    perfectly as the 1KHz audible tone burps and stutters, resembling
    radioactivity morse pulses.

    So it seems that this showstopper is an issue only under extreme loads,
    and is probably relative to the hardware you're running into. On my other
    P4@3.3Ghz/HT desktop I could not reproduce this. Instead, I hit a rather
    older issue, which comes like the magic 14 client limit. As it seems, I
    now find trouble when starting more than 14 connected clients, as the
    jack_watchdog kills everything in sight beyhond that point. This wasn't
    happening with the jack_test3.2 suite, suspectedly because those clients
    weren't being connected to each other.

    Please check this out, and would you try at least to reproduce the naughty
    behavior such as the pictured on the attached chart?

    Now back on-topic :)

    Just some last lines about the iso2 patch. I know some of you will laught
    at me, but I've just gave it a try on merging it with Ingo's
    realtime-preempt. After some changes to Con's original
    (2.6.11-rc1-iso2.diff) I've reached a clean build, and the attached patch
    is the proof, which applies in the following sequence:

       linux-2.6.11-rc1.tar.bz2
     + realtime-preempt-2.6.11-rc1-V0.7.35-01
     + linux-2.6.11-rc1-RT-V0.7.35-iso2.patch.gz

    But... even though it booted fine, the resulting kernel just crashes
    immediately as soon as one remembers to run jackd -R :( If just someone
    finds this interesting... ;)

    So no joy no fun, eheheh.

    Cheers.

    -- 
    rncbc aka Rui Nuno Capela
    rncbc@rncbc.org
    
    
    
    

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/





  • Next message: Marcelo Tosatti: "Re: oom killer gone nuts"

    Relevant Pages

    • Re: Question abut threads
      ... I dont have any particular reason for 8 ports except that I have 8 clients ... TcpClient client = listener.AcceptTcpClient; ... encodings it would be. ... StringBuilder to accumulate the string, ...
      (microsoft.public.dotnet.languages.csharp)
    • RE: Port Forwarding XP Client
      ... 59101 and 6320 from the XP client to the internet. ... First could you tell me what the three ports are in aid of? ... from client to the internet. ... SBS Server on the router. ...
      (microsoft.public.windows.server.sbs)
    • Re: OT:Tiscali
      ... year.However i know some of these isp's use throttling during peak ... pretty sure I got the best provider. ... Also for your P2P client, its a good idea to manually forward your ... Step by step walkthrough on how to forward your ports for P2P ...
      (uk.sport.football.clubs.celtic)
    • Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2
      ... here goes a more contained jackd test-suite (see ... Just launch the provided shell script, ... input and output ports, ... Note that you can breakup the 14 client barrier, as that limit seems to be ...
      (Linux-Kernel)
    • Re: OT:Tiscali
      ... >> year.However i know some of these isp's use throttling during peak ... >> else with tiscali having the same problem?Also found that you cant ... > Also for your P2P client, its a good idea to manually forward your ... > Step by step walkthrough on how to forward your ports for P2P ...
      (uk.sport.football.clubs.celtic)