Date: Mon, 2 Aug 2010 14:29:20 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r210768 - user/nwhitehorn/ps3/powerpc/ps3 Message-ID: <201008021429.o72ETKOe048713@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Mon Aug 2 14:29:19 2010 New Revision: 210768 URL: http://svn.freebsd.org/changeset/base/210768 Log: The boot firmware appears to set to priority for thread 2 to low, and leave thread 1 at high priority, with the result that booting is fast but thread 2 is extraordinarily slow. Set thread 1's priority to low so that they match. Modified: user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c Modified: user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c Mon Aug 2 13:40:53 2010 (r210767) +++ user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c Mon Aug 2 14:29:19 2010 (r210768) @@ -199,6 +199,12 @@ ps3_smp_start_cpu(platform_t plat, struc if (pc->pc_hwref != 1) return (ENXIO); + /* + * XXX: Set local thread priority to low, to match remote. + * XXX: Replace magic numbers with constants. + */ + mtspr(896, (mfspr(896) & 0xffffffff) | (0x1UL << 51)); + ap_pcpu = pc; *secondary_spin_sem = 1; powerpc_sync();
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008021429.o72ETKOe048713>