All of lore.kernel.org
 help / color / mirror / Atom feed
From: Clark Williams <williams@redhat.com>
To: RT <linux-rt-users@vger.kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>, "Carsten Emde" <ce@ceag.ch>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"John Kacur" <jkacur@redhat.com>
Subject: rt-tests-0.82 available on github
Date: Wed, 21 Sep 2011 15:54:55 -0500	[thread overview]
Message-ID: <20110921155455.61ab4745@redhat.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1694 bytes --]

While kernel.org is sorting out the security stuff, the rt-tests code
may be pulled from:

	git://github.com/clrkwllms/rt-tests.git

Note that we're now at version 0.82. Presently I only have the git
archive available (no tarballs). 

While investigating latency spikes in the 3.0.x-rt kernels, Thomas
spotted a case where an Intel quad-core Xeon was going into deep
sleep states and were all fighting to come out of sleep at the same
time (and consequently causing a big latency spike in cyclictest). 

While trying to figure out how to prevent deep cstates I remembered a
conversation I had with Arjan at the last Plumbers conference in
Boston. He mentioned the /dev/cpu_dma_latency interface to the power
managment code and that if you opened it and wrote a zero to it, you
effectively put the system into "idle=poll" mode until you closed the
file descriptor (see: Documentation/power/pm_qos_interface.txt). 

I've added a set_latency_target() function to cyclictest that by
default opens /dev/cpu_dma_latency and writes a zero to it, then holds
the file descriptor open for the duration of the cyclictest run. This
made a *huge* difference on some Intel Xeon's. Without this option, when
I was running cyclictest with the -b option, I saw latencies over
300us. When I added it, while tracing I never saw a latency over 30us.
Turning of -b, I never saw it go over 10us. I am doing further testing
now with other x86_64 systems. 

Of course this is very architecture specific, so YMMV, but I think it's
a valid mechanism to be used when measuring latency and I believe a
technique that many latency-sensitive applications might use to good
effect. 

Clark

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

             reply	other threads:[~2011-09-21 20:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-21 20:54 Clark Williams [this message]
2011-09-21 21:24 ` rt-tests-0.82 available on github Thomas Gleixner

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=20110921155455.61ab4745@redhat.com \
    --to=williams@redhat.com \
    --cc=ce@ceag.ch \
    --cc=jkacur@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=u.kleine-koenig@pengutronix.de \
    /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.