On Dec 9, 2008, at 12:33 PM, Scott Long wrote: > > Yup, my mistake. However, I think that the semaphore spinwait in > uart_sched_softih() is the source of the problems here. It's not a semaphore spinwait. It's just an atomic operation: 1. read old, 2. calculate new from old, 3. atomic_cmpset(old, new) 4. goto 1 if 3 fails. The loop iterates only if ttypend got changed between 1 and 3. There's no spinwaiting and no semaphore-like behaviour. FYI, -- Marcel Moolenaar xcllnt_at_mac.comReceived on Tue Dec 09 2008 - 19:44:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC