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>

index | next in thread | raw e-mail

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");
 
 	/*


help

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