summaryrefslogtreecommitdiffstats
path: root/src/kernel/basesegment.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2012-08-20 15:52:07 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-09-05 15:42:19 -0500
commit1c6e1a4cddde411b6219b9e881039ffbda0deb4f (patch)
tree1e1ff02f7e51c0f7667ae30154e3bb326838fca4 /src/kernel/basesegment.C
parentc07b8bb150f1464e17ebf3672460564ec3e8947c (diff)
downloadtalos-hostboot-1c6e1a4cddde411b6219b9e881039ffbda0deb4f.tar.gz
talos-hostboot-1c6e1a4cddde411b6219b9e881039ffbda0deb4f.zip
Set "high" thread priority as 2 rather than 3.
The Power processor has instructions of the form 'or a,a,a' that allow code to change the priority of a hw-thread relative to the others. We initially used 'or 1,1,1' as low priority and 'or 3,3,3' as high priority. This is used in, for instance, spinlocks to reduce the priority of a hw-thread while waiting for another thread to perform an activity. This code originally came from HAL. In reading the Power ISA closer I realized that 'or 3,3,3' has no effect when in user-space code, which means that a spinlock-like effect in user code is going to end up with the thread stuck at low priority until the next context switch. To prevent this we are going to change from 1/3 to 1/2 as the priority levels. Change-Id: I60ee866cde37499106f5e1e1d68a0b5ddeedf403 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1569 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/kernel/basesegment.C')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud