You could also try LOCK CMPXCHG16B. However, cacheline-crossing locked operations can be very slow
Slashdot videos: Now with more Slashdot!
We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).
I think you are misinterpreting that paragraph; and thus not giving Microsoft their due credit.
It is saying that Microsoft already does run a ‘donation’ program to NGOs that likely does allow them tax deductions at no cost. But that’s not what this is. By instantly creating a license that any NGO can use for free; they cannot claim a deduction. For a deduction, they would have to get the NGO/journalist to go through specific channels so that they could document the ‘donation’. And that of course if why they want to move people to their donation program.
This is talked about in a bit more detail in the Microsoft blog entry that announced it. I would expect this to make it a bit more difficult to get NGOs to use their donation program since the motivation for jumping through the hooks is less.
This is a fantastic program and Microsoft should be commended for it. Even on Slashdot.
Now, getting deductions for software (or other IP) donations in general is ridiculous and something that governments should reconsider. Any business deduction where they can control the value of the donation by their pricing is somewhat shady. But this license does not seem to be taking advantage of that.
Huh? ECC should be able to _correct_ (and thus prevent) single-bit errors. If it is a double bit error then it will only detect the error (preventing them from passing through undetected). And I believe that when a line has more than 2 bits corrupted then that may not be detected by ECC in all cases. Since the probability of single-bit errors is massively higher than double-bit errors, ECC does help correct errors; preventing them from affecting the end user.