Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Dec 2018 04:36:02 +0000 (UTC)
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r341617 - head/sys/powerpc/powerpc
Message-ID:  <201812060436.wB64a2UF050154@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhibbits
Date: Thu Dec  6 04:36:02 2018
New Revision: 341617
URL: https://svnweb.freebsd.org/changeset/base/341617

Log:
  powerpc: Set very low priority mode while waiting for AP unleash event
  
  The POWER9 does not recognize 'or 27,27,27' as a thread priority NOP.  On
  earlier POWER architectures, this NOP would note to the processor to give up
  resources if able, to improve performance of other threads.
  
  All processors that support the thread priority NOPs recognize the
  'or 31,31,31' NOP as very low priority, so use this to perform a similar
  function, and not burn cycles on POWER9.

Modified:
  head/sys/powerpc/powerpc/mp_machdep.c

Modified: head/sys/powerpc/powerpc/mp_machdep.c
==============================================================================
--- head/sys/powerpc/powerpc/mp_machdep.c	Thu Dec  6 04:30:24 2018	(r341616)
+++ head/sys/powerpc/powerpc/mp_machdep.c	Thu Dec  6 04:36:02 2018	(r341617)
@@ -78,7 +78,7 @@ machdep_ap_bootstrap(void)
 	__asm __volatile("msync; isync");
 
 	while (ap_letgo == 0)
-		__asm __volatile("or 27,27,27");
+		__asm __volatile("or 31,31,31");
 	__asm __volatile("or 6,6,6");
 
 	/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201812060436.wB64a2UF050154>