All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Revell <rlrevell@joe-job.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Robert Love <rml@novell.com>
Subject: Re: How is user space notified of CPU speed changes?
Date: Sat, 23 Oct 2004 18:42:13 -0400	[thread overview]
Message-ID: <1098571334.29081.21.camel@krustophenia.net> (raw)
In-Reply-To: <1098566366.24804.8.camel@localhost.localdomain>

On Sat, 2004-10-23 at 22:19 +0100, Alan Cox wrote:
> On Sad, 2004-10-23 at 06:10, Lee Revell wrote:
> > JACK makes extensive use of microsecond-level timers.  These must be
> > calibrated at startup, and recalibrated when the CPU speed changes.  How
> > does JACK register with the kernel to be notified when the CPU speed
> > changes?
> 
> It did
> 
> - The kernel doesn't always know

OK, this one seems like the hard one.  Wouldn't this cause weird
behavior though?  For example Linux only calculates the delay loop once,
at boot time.  Does this render *delay() useless?

> - CPU speed is meaningless in hyper-threading since performance is not
> x2 for two cores but instead varies

Doesn't matter.  As long as they are both the same speed, JACK's
calculations will be correct.  We calculate the CPU speed at startup.
Then we just read the TSC and do the math.

> - It doesn't handle split CPU speed SMP - where CPU speeds vary

We don't have to support this.  If someone wants to do it they will have
to bind jackd to one CPU or the other.

> - God help you if virtualised

We don't have to support this.

Does anyone know how OSX/CoreAudio handles the situation?  Apparently
realtime apps work flawlessly on speed scaling laptops under OSX.

Lee



  reply	other threads:[~2004-10-23 22:42 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-21 23:01 How is user space notified of CPU speed changes? Lee Revell
2004-10-22 11:23 ` Alan Cox
2004-10-22 14:12   ` Con Kolivas
2004-10-22 18:05   ` Lee Revell
2004-10-22 18:57     ` Andreas Dilger
2004-10-22 19:40     ` Chris Friesen
2004-10-22 19:46       ` Lee Revell
2004-10-22 20:28       ` Alan Cox
2004-10-22 21:46         ` Chris Friesen
2004-10-22 23:25       ` Lee Revell
2004-10-25 15:28         ` Chris Friesen
2004-10-23  5:10   ` Lee Revell
2004-10-23 10:53     ` Matthew Garrett
2004-10-23 21:19     ` Alan Cox
2004-10-23 22:42       ` Lee Revell [this message]
2004-10-23 23:17         ` Jon Masters
2004-10-24  1:40           ` Lee Revell
2004-10-24 14:02         ` Alan Cox
2004-10-26  2:38           ` Lee Revell
2004-10-26  4:05           ` Lee Revell
2004-10-23 23:35       ` Jon Masters
2004-10-23 23:36         ` Jon Masters
2004-10-24 14:04         ` Alan Cox
2004-10-25  5:53         ` Joel Becker
2004-10-24 20:02     ` Robert Love
     [not found] <1098399709.4131.23.camel@krustophenia.net.suse.lists.linux.kernel>
     [not found] ` <1098444170.19459.7.camel@localhost.localdomain.suse.lists.linux.kernel>
     [not found]   ` <1098508238.13176.17.camel@krustophenia.net.suse.lists.linux.kernel>
     [not found]     ` <1098566366.24804.8.camel@localhost.localdomain.suse.lists.linux.kernel>
2004-10-23 23:54       ` Andi Kleen

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=1098571334.29081.21.camel@krustophenia.net \
    --to=rlrevell@joe-job.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@novell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.