Herbert Xu wrote: > Nick Piggin wrote: > >>Well yes, that's on the store side (1, above). However can't a CPU >>still speculatively (eg. guess the branch) load the page->flags >>cacheline which might be satisfied from memory before the page->count >>cacheline loads? Ie. you can still have the correct write ordering >>but have incorrect read ordering? >> >>Because neither PageDirty nor page_count is a barrier, and there is >>no read barrier between them. > > > Yes you're right. A read barrier is required here. > > I think Ben was actually agreeing with you. He's just questioning > whether the corresponding write barrier existed on CPU 1 (the answer > to which is affirmative). > Ah, that clears up my misunderstanding. Yes I agree the write side is OK. Thanks Ben and Herbert. I guess I should do a proper patch then. -- SUSE Labs, Novell Inc.