lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 17 Aug 2007 15:33:33 +0530 (IST) From: Satyam Sharma <satyam@...radead.org> To: Nick Piggin <piggin@...erone.com.au> cc: Stefan Richter <stefanr@...6.in-berlin.de>, paulmck@...ux.vnet.ibm.com, Herbert Xu <herbert@...dor.apana.org.au>, Paul Mackerras <paulus@...ba.org>, Christoph Lameter <clameter@....com>, Chris Snook <csnook@...hat.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, linux-arch@...r.kernel.org, Linus Torvalds <torvalds@...ux-foundation.org>, netdev@...r.kernel.org, Andrew Morton <akpm@...ux-foundation.org>, ak@...e.de, heiko.carstens@...ibm.com, davem@...emloft.net, schwidefsky@...ibm.com, wensong@...ux-vs.org, horms@...ge.net.au, wjiang@...ilience.com, cfriesen@...tel.com, zlynx@....org, rpjday@...dspring.com, jesper.juhl@...il.com, segher@...nel.crashing.org Subject: Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures On Fri, 17 Aug 2007, Nick Piggin wrote: > Satyam Sharma wrote: > > > > On Fri, 17 Aug 2007, Nick Piggin wrote: > > > > > Sure, now > > > > that I learned of these properties I can start to audit code and insert > > > > barriers where I believe they are needed, but this simply means that > > > > almost all occurrences of atomic_read will get barriers (unless there > > > > already are implicit but more or less obvious barriers like msleep). > > > > > > You might find that these places that appear to need barriers are > > > buggy for other reasons anyway. Can you point to some in-tree code > > > we can have a look at? > > > > > > Such code was mentioned elsewhere (query nodemgr_host_thread in cscope) > > that managed to escape the requirement for a barrier only because of > > some completely un-obvious compilation-unit-scope thing. But I find such > > an non-explicit barrier quite bad taste. Stefan, do consider plunking an > > explicit call to barrier() there. > > It is very obvious. msleep calls schedule() (ie. sleeps), which is > always a barrier. Probably you didn't mean that, but no, schedule() is not barrier because it sleeps. It's a barrier because it's invisible. > The "unobvious" thing is that you wanted to know how the compiler knows > a function is a barrier -- answer is that if it does not *know* it is not > a barrier, it must assume it is a barrier. True, that's clearly what happens here. But are you're definitely joking that this is "obvious" in terms of code-clarity, right? Just 5 minutes back you mentioned elsewhere you like seeing lots of explicit calls to barrier() (with comments, no less, hmm? :-) - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists