Re: 2.6.X, NPTL, SCHED_FIFO and JACK

From: Ingo Molnar (mingo_at_elte.hu)
Date: 06/30/04

  • Next message: Ingo Molnar: "Re: 2.6.X, NPTL, SCHED_FIFO and JACK"
    Date:	Wed, 30 Jun 2004 17:04:30 +0200
    To: Paul Davis <paul@linuxaudiosystems.com>
    
    

    * Paul Davis <paul@linuxaudiosystems.com> wrote:

    > The first and most visible issue is with inheritance of SCHED_FIFO
    > scheduling. Although there are other mechanisms available under 2.6,
    > many people use the "jackstart" helper application which runs setuid
    > root and uses capabilities to start up JACK with the required caps to
    > allow use of SCHED_FIFO and mlockall(). This has worked very well in
    > 2.4 for about 2 years, but in 2.6 JACK fails to get its threads to be
    > in the SCHED_FIFO scheduling class without a bunch of nasty kludges.
    >
    > Things work correctly as soon as LD_ASSUME_KERNEL is used.

    A simple "strace -f" should show whether the setscheduler() call
    succeeds or not. Does 'jackstart' do anything with glibc internals?

    > We also see apparently impossible thread scheduling, where a thread
    > that should run immediately is delayed by a significant time, and the
    > thread that woke the first one up (and should be waiting for it to
    > execute) runs again, apparently without ever having blocked. Once
    > more, it all works correctly is LD_ASSUME_KERNEL is used to avoid
    > NPTL.

    there was a SCHED_FIFO bug in all 2.6 kernels prior 2.6.5, causing
    erratic scheduling. Have you tried 2.6.6 or 2.6.7?

    > Are there known issues with the implementation of NPTL that might give
    > rise to this behaviour? What can we do to help understand and debug
    > it?

    there's nothing special about NPTL, scheduling-wise. But if SCHED_FIFO
    is not properly set for all JACK threads that could explain the
    symptoms. You talked about kludges that are necessary to make all
    threads SCHED_FIFO - are you 100% sure that all JACK threads are indeed
    SCHED_FIFO after these kludges are applied? If yes and you are running a
    later kernel then it's something new and probably NPTL-unrelated.

            Ingo
    -
    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: Ingo Molnar: "Re: 2.6.X, NPTL, SCHED_FIFO and JACK"

    Relevant Pages

    • Re: [PATCH] [request for inclusion] Realtime LSM
      ... When you run a JACK client, the user should not be required to use a ... different command sequence depending on whether or not JACK is running ... scheduling and memlock to its clients. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Roger being treated like shit at the US open
      ... jrcunniff@xxxxxxxxxxxxxxxxxxx (Jack) wrote: ... scheduled to play their 1R matches on Wed will play their 2R on Friday, ... Sunday, 4R Tuesday, QF Thursday, and the usual Sat/Sun SF/F. ... we'll see a replay of 2003's scheduling screw-ups.) ...
      (rec.sport.tennis)