Date: Fri, 20 May 2011 22:41:02 +1000 From: Peter Jeremy <peterjeremy@acm.org> To: Marius Strobl <marius@alchemy.franken.de> Cc: jeff@freebsd.org, freebsd-sparc64@freebsd.org Subject: Re: SCHED_ULE on sparc64 Message-ID: <20110520124102.GA80878@server.vk2pj.dyndns.org> In-Reply-To: <20110520103841.GA40497@alchemy.franken.de> References: <20110519195245.GA3039@server.vk2pj.dyndns.org> <20110520103841.GA40497@alchemy.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--ZGiS0Q5IWpPtfppv Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2011-May-20 12:38:41 +0200, Marius Strobl <marius@alchemy.franken.de> wr= ote: >The main problem with SCHED_ULE on sparc64 is that the MD code >(ab)uses the global sched_lock of SCHED_4BSD to protect pm_context, >pm_active and pc_pmap, partially of all CPUs, and SCHED_ULE doesn't >use/provide such a lock. One could replace the use of sched_lock >for that with a global MD spin lock but this has the issue that it >would have to be acquired and released in cpu_switch(), which is next >to impossible to do properly in assembler. Definitely messy but MIPS and PPC do it (at least the acquire - I don't see how the lock is released in either case). > There might be an alternate approach to >achieve the required level of protection not involving using a spin >lock but that needs thorough thinking and testing. The lack of atomic RMW operations definitely makes sparc messier than (eg) i386/amd64 here. It has been a long while since I studied SPARC assembler in any detail (and that was pre sun4u) so I can't really help here. > The bottom line >is that watching the various mailing lists so far didn't provide the >necessary motivation to work on that to me though (even today you still >find reports about performance problems with SCHED_ULE and suggestions >to use SCHED_4BSD instead, just see 4DD55CE0.50202@m5p.com as current >example). OTOH, not using it won't get the bugs fixed. My rationale for firing up the spare V890 at $work was to try and stress some of the big systems code and SCHED_ULE is supposed to be better at handling lots of CPUs than SCHED_4BSD. --=20 Peter Jeremy --ZGiS0Q5IWpPtfppv Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iEYEARECAAYFAk3WYV4ACgkQ/opHv/APuIdRZACgweqEKsrlN6bDMnxH8PLkN27l nscAmQH5Ob4hsMzt6QCnmVDaVuy9MAms =P6dO -----END PGP SIGNATURE----- --ZGiS0Q5IWpPtfppv--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110520124102.GA80878>