Date: Mon, 3 Jun 2013 20:55:04 -0700 From: Juli Mallett <jmallett@FreeBSD.org> To: Adrian Chadd <adrian@freebsd.org> Cc: Ed Schouten <ed@80386.nl>, "freebsd-mips@FreeBSD.org" <freebsd-mips@freebsd.org>, FreeBSD-arch <freebsd-arch@freebsd.org> Subject: Re: Kernelspace C11 atomics for MIPS Message-ID: <CACVs6=_X5vOfR%2BQOgvz6P-j3jUoNoK9hCFvz80fGRL3-PgBf5g@mail.gmail.com> In-Reply-To: <CAJ-Vmo=vNbT9majPCZ8ugzPsNzh46DTD4mMDX-cuxx9Og91ptw@mail.gmail.com> References: <CAJOYFBD502MYbkVR2hnVDTYWOvOUr15=OPyjotNvv%2BZ09vQ1OQ@mail.gmail.com> <D02AF210-5129-40AB-9481-3F0A44575E98@bsdimp.com> <CAJ-Vmo=vNbT9majPCZ8ugzPsNzh46DTD4mMDX-cuxx9Og91ptw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 3, 2013 at 7:45 PM, Adrian Chadd <adrian@freebsd.org> wrote: > Speaking of this; any idea why the SYNC operators have 8 NOPs following > them? > > I noticed that when going through disassemblies of various mips24k .o > files. > To drain the pipeline on certain deficient (and mostly older) CPUs by way of guesswork and a little vague magic. Most CPUs we support, I would guess, do not need this, and it continues to exist solely for hysterical reasons. I've certainly gotten rid of them and some other cargo cult synchronization on Octeon for testing and had it survive under considerable load, and occasionally with some slight speedups (for some more commonly-used or slower things than Just a Bunch Of NOPs.) The trouble is that proving they aren't necessary requires being rigorous and careful in understanding documentation and errata, and FUD about their possible necessity is somewhat-intimidating. It's not an easy kind of corruption/unreliability/etc., to prove the lack of empirically. Juli.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACVs6=_X5vOfR%2BQOgvz6P-j3jUoNoK9hCFvz80fGRL3-PgBf5g>