Messages in this thread | | | Date | Wed, 19 Feb 2014 07:23:27 -0800 (PST) | From | David Lang <> | Subject | Re: [RFC][PATCH 0/5] arch: atomic rework |
| |
On Tue, 18 Feb 2014, Torvald Riegel wrote:
> On Tue, 2014-02-18 at 22:40 +0100, Peter Zijlstra wrote: >> On Tue, Feb 18, 2014 at 10:21:56PM +0100, Torvald Riegel wrote: >>> Well, that's how atomics that aren't volatile are defined in the >>> standard. I can see that you want something else too, but that doesn't >>> mean that the other thing is broken. >> >> Well that other thing depends on being able to see the entire program at >> compile time. PaulMck already listed various ways in which this is >> not feasible even for normal userspace code. >> >> In particular; DSOs and JITs were mentioned. > > No it doesn't depend on whole-program analysis being possible. Because > if it isn't, then a correct compiler will just not do certain > optimizations simply because it can't prove properties required for the > optimization to hold. With the exception of access to objects via magic > numbers (e.g., fixed and known addresses (see my reply to Paul), which > are outside of the semantics specified in the standard), I don't see a > correctness problem here.
Are you really sure that the compiler can figure out every possible thing that a loadable module or JITed code can access? That seems like a pretty strong claim.
David Lang
| |