On Tue, 2007-07-24 at 10:24 -0700, Linus Torvalds wrote:Well, as I said, our test_and_set_bit() asm (and in general, the asm for all the atomic ops that -return- a value) have at least some level of barriers in them because of that. We do that because people are abusing them as locks. The smp_mb__after_set_bit() I never quite grokked. We do an mb in there but I suspect we don't need if it's only ever used after test_and_set_bit() because of the above. The smb_mb__before_clear_bit() makes more sense as it's supposed to give clear_bit() a spin_unlock semantic. But we do need the "memory" clobber as well. That's one reason why I like Nick's bitop locks patches, providing -explicit- test_and_set_bit_lock() and clear_bit_unlock(), we can fix a whole lot of things and make sure they have the right barriers and not more. (We save a few useless barriers on POWER that way in the page lock path and it's measureable in his benchmark). Cheers, Ben. -
| Chuck Ebbert | Why do so many machines need "noapic"? |
| Renato S. Yamane | Error -71 on device descriptor read/all |
| Greg Kroah-Hartman | [PATCH 05/54] kset: convert fuse to use kset_create |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
git: | |
| R. Tyler Ballance | Public repro case! Re: [PATCH/RFC] Allow writing loose objects that are corrupted ... |
| Shawn O. Pearce | Re: Some ideas for StGIT |
| Alexander Litvinov | git-svn does not seems to work with crlf convertion enabled. |
| Wink Saville | Resolving conflicts |
| John P Poet | Realtek 8111C transmit timed out |
| Rémi Denis-Courmont | Re: [PATCH] Security: Implement and document RLIMIT_NETWORK. |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Jason Beaudoin | Re: Real men don't attack straw men |
| Parvinder Bhasin | BIND and CNAME-ing |
| Manuel Ravasio | Annoying problem with dnsmasq |
| Craig Skinner | Re: How can i boot a bsd.rd from windows 2000 ? |
