Peterson's Algorithm isn't lock-free, it's a blocking one.
http://en.wikipedia.org/wiki/Peterson%27s_algorithm#Progress
are enough to guarantee system-wide progress. Can you elaborate?
Edit: Nevermind. So of course we'd need the critical section and thread-coordination mechanism to be a single atomic operation for this to be a lock-free algorithm. I should RTFA.