All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Jim Cromie <jim.cromie@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] [patch]  TROUBLESHOOTING additions, README tweaks
Date: Mon, 17 Apr 2006 23:16:57 +0200	[thread overview]
Message-ID: <17476.1481.90501.387014@domain.hid> (raw)
In-Reply-To: <4443C1B6.1080802@domain.hid>

Jim Cromie wrote:
 > 
 > heres another try.
 > 
 > contains some speculative explanations that perhaps warrant rewording.
 > 
 > The regular reader will also detect some prose poached from this ML ;-)
 > Index: TROUBLESHOOTING
 > ===================================================================
 > --- TROUBLESHOOTING	(revision 935)
 > +++ TROUBLESHOOTING	(working copy)
 > @@ -6,6 +6,46 @@
 >                             GENERIC
 >  ===================================================================
 >  
 > +Q: Which CONFIG_* items are latency killers, and should be avoided ?
 > +
 > +A: Heres an enumeration.  Several of these are discussed in greater
 > +detail later.  Feel free to verify that these cause latencies to
 > +explode (xeno-test runs testsuite/latency 3 different ways), but keep
 > +in mind that before you rely on the numbers, you must create workloads
 > +that will excersize all the hardware used for your RT application.
 > +
 > +CONFIG_CPU_FREQ: This allows the CPU frequency to be modulated with
 > +workload, but many CPUs change the TSC counting frequency also, which
 > +makes it useless for accurate timing when the CPU clock can change.
 > +
 > +ACPI_PROCESSOR: ACPI is a complex BIOS functionality, and BIOS code is
 > +never written with RT-latency in mind.  If enabled, this BIOS code can
 > +be invoked at a pseudo-SMI priority, which breaks the rule that
 > +adeos-ipipe must be in charge of such things.  DISABLE_SMI doesnt help
 > +here (more later).

I think this description better fits APM than ACPI. The way I understand
ACPI, BIOS only provides tables, which are a kind of bytecode
interpreted by the OS. So, ACPI code is not executed at SMI priority.
On the other hand APM really uses SMIs. As part of ACPI initialization,
legacy power management is disabled, so enabling ACPI may actually be a
good idea with regard to SMIs.

The reason why ACPI_PROCESSOR is a latency killer is because when the
"processor" module is loaded, Linux idle task use the processor "C"
states, which are states equivalent to 'hlt' where the CPU consume less
power, but needs more time to wake up in case of interrupt. You can even
read the wake-up latency in /proc/acpi/processor/CPU*/power.


-- 


					    Gilles Chanteperdrix.


      parent reply	other threads:[~2006-04-17 21:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-17 16:26 [Xenomai-core] [patch] TROUBLESHOOTING additions, README tweaks Jim Cromie
2006-04-17 16:55 ` [Xenomai-core] [patch] TROUBLESHOOTING additions, README tweaks - minor correction Rodrigo Rosenfeld Rosas
2006-04-17 21:16 ` Gilles Chanteperdrix [this message]

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=17476.1481.90501.387014@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=jim.cromie@domain.hid \
    --cc=xenomai@xenomai.org \
    /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.