Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Rigg <aldev@sound-man.co.uk>
To: Pete <peterpion@yahoo.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: Xrun stack trace for 1010LT
Date: Fri, 5 Dec 2008 19:41:19 +0000	[thread overview]
Message-ID: <20081205194119.GA3669@localhost> (raw)
In-Reply-To: <434768.7988.qm@web65408.mail.ac4.yahoo.com>

On Fri, Dec 05, 2008 at 08:11:36AM -0800, Pete wrote:
> So even if the kernel is not a RT kernel, processes can run with real
> time priority? How is this so? From what ive read about the RT kernel
> it sounds like the kernel has to cooperate with the processes running
> on the system to allow a process to awaken (on an interrupt for instance). 
> Otherwise the kernel will be stuck in some non interruptable state for 
> some time, blocking the interrupt from being serviced - is that wrong?
> 
> If Jack has a way to grab higher priority through some other mechanisim,
> could I build this into arecord I wonder. I have of course tried nicing
> the process to very unnice.
 
nice values are irrelevant to processes with rtprio. Any rtprio process
will have priority over any process with just a nice value. jackd -R
defaults to rtprio 10 (in a range of 0-99). You can raise that by 
specifying the value on the command line eg. jackd -R -P80
which would increase it to 80 (usually unnecessary and possibly
inadvisable). You can look at what's running with rtprio on your system
with ps, eg.:   ps -Leo pid,cmd,rtprio

rtprio makes use of SCHED_FIFO or SCHED_RR (as opposed to SCHED_NORMAL).
These are static soft realtime scheduling policies provided by the
standard kernel. The -rt kernels attempt to get closer to hard realtime.
Don't confuse the two.

On the current kernels, a non-root user has to belong to a realtime
scheduling group (eg. the audio group) and the kernel config needs to
have CONFIG_RT_GROUP_SCHED=y to allow rtprio to be used. The relevant
configuration must also be present in /etc/security/limits.conf. There
are plenty of articles on the web describing how to set up limits.conf.

John

  reply	other threads:[~2008-12-05 19:28 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-05 14:18 Xrun stack trace for 1010LT Pete cat
2008-12-05 14:26 ` Takashi Iwai
2008-12-05 14:48   ` Pete cat
2008-12-05 15:17     ` John Rigg
2008-12-05 15:20       ` Pete
2008-12-05 15:23         ` Pete
2008-12-05 16:02           ` John Rigg
2008-12-05 16:11             ` Pete
2008-12-05 19:41               ` John Rigg [this message]
2008-12-05 21:39                 ` Pete
2008-12-06 14:46                   ` John Rigg
2008-12-15 15:23             ` Pete

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081205194119.GA3669@localhost \
    --to=aldev@sound-man.co.uk \
    --cc=alsa-devel@alsa-project.org \
    --cc=peterpion@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox