Messages in this thread | | | Date | Wed, 24 Aug 2011 16:30:44 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 00/18] x86: Ticket lock + cmpxchg cleanup |
| |
On 08/24/2011 04:21 PM, Linus Torvalds wrote: > On Wed, Aug 24, 2011 at 4:09 PM, Linus Torvalds > <torvalds@linux-foundation.org> wrote: >> However, the reason I disagree with it is that I don't think that it's >> any prettier at all to have the two barriers than it is to just have >> the asm. > .. and btw, we probably do need *both* barriers. We definitely need > the one before. The one after is a bit less obvious, since it is > technically legal for code to move into the locked region. However, > it's not necessarily a *good* idea for code to move into the locked > region, so the two barriers are likely the RightThing(tm).
Originally I left the second barrier off for that reason, but I got mysterious lockups. The second barrier fixed them, so I never got around to do a full root-cause analysis.
I still think the C version is more straightforward given that the asm version is confused with the details of the ticket sizes, etc. But, shrug, its a pretty minor detail.
The OOSTORE stuff is a complete red herring; I bet its been *years* since someone specifically compiled a kernel with OOSTORE SMP support because they actually wanted to use it.
J
| |