From: Ryan Arnold <rsa@us.ibm.com>
To: linuxppc-dev@ozlabs.org
Cc: Sean P Curry <spcurry5@linux.vnet.ibm.com>,
Steven Munroe <sjmunroe@us.ibm.com>
Subject: Program Priority Registers per ISA 2.06
Date: Fri, 13 Mar 2009 14:34:49 -0500 [thread overview]
Message-ID: <1236972889.3137.42.camel@localhost.localdomain> (raw)
Hi all,
I haven't checked the kernel source in the few weeks since ISA 2.06 was
released but I suspect that the default Program Priority level hasn't
been changed in the kernel yet.
Program Priority:
Per ISA 2.06: Section 3.1 (page 671) titled "Program Priority
Registers", The 'normal' process priority level has changed from "001
medium" to "100 medium low".
There are three levels of priority available to user space and prior to
ISA 2.06 the 'normal' priority is the highest priority. This is a
relative process priority and 'normal' doesn't immediately set clock
rate to an explicit frequency.
The ISA change simply re-bases 'normal' to the middle of the three
priorities so that user-space can increase or decrease relative program
priority without having to explicitly re-base to `100 medium low'.
This, of course, means that the kernel should implicitly re-base the
priority to the new normal of `100 medium low'.
This change can retroactively benefit applications running on POWER6
hardware and since the default program priority is relative it shouldn't
effect the performance on older hardware.
Sean Curry wrote a patch for GLIBC to increase & decrease thread
priority during lock contention loops, i.e. if you don't get the lock,
decrease priority. Conversely if you get the lock, increase priority
over the critical section.
We have some data on cost vs. benefits and we'll supply this when the
userspace patch is submitted to GLIBC. We can present that data here in
the meantime if requested.
Regards,
Ryan S. Arnold
IBM Linux Technology Center
Linux Toolchain development
reply other threads:[~2009-03-13 19:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=1236972889.3137.42.camel@localhost.localdomain \
--to=rsa@us.ibm.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=sjmunroe@us.ibm.com \
--cc=spcurry5@linux.vnet.ibm.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;
as well as URLs for NNTP newsgroup(s).