|
Message-ID: <alpine.LNX.2.20.1507281716420.6514@monopod.intra.ispras.ru> Date: Tue, 28 Jul 2015 17:33:18 +0300 (MSK) From: Alexander Monakov <amonakov@...ras.ru> To: musl@...ts.openwall.com Subject: Re: What's left for 1.1.11 release? > > and stdio locks too, but it's only been observed in malloc. > > Since there don't seem to be any performance-relevant uses of a_store > > that don't actually need the proper barrier, I think we have to just > > put an explicit barrier (lock orl $0,(%esp) or mfence) after the store > > and live with the loss of performance. > > How about using a xchg as instruction? This would perhaps "waste" a > register, but that sort of optimization should not be critical in the > vicinity of code that needs memory synchronization, anyhow. xchg is what compilers use in lieu of mfence, but Rich's preference for 'lock orl' on the top of the stack stems from the idea that locking on the store destination is not desired here (you might not even have the corresponding line in the cache), so it might be better to have the store land in the store buffers, and do a serializing 'lock orl' on the cache line you have anyhow. Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.