[Bug 1787] Adding nesting support to smp spinlock

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Fri May 6 15:43:17 UTC 2011


https://www.rtems.org/bugzilla/show_bug.cgi?id=1787

--- Comment #3 from Gedare <giddyup44 at yahoo.com> 2011-05-06 10:43:17 CDT ---

Some documentation on the usage of the two spinlock variants will be helpful.
When to use which version, in particular, and why there are two versions.

I don't think that the spinlock control types need to be declared as volatile.
We had this discussion before I think. As long as variables of that type are
accessed within regions that are already optimization suppressed (e.g. within
memory barriers.)

What is the meaning of the id field in the SMP_lock_spinlock_nested_Control? It
appears to be unused for the most part.

During SMP_lock_spinlock_nested_Spinlock_Release, do you intend 
  lock->id = 0;
to be
  lock->cpu_id = 0;

Multiple changes of the following are made that I don't think are necessary for
correctness since level is always written to by _ISR_Disable.
/usr1/CVS/rtems/cpukit/score/src/smplock.c:
+  ISR_Level  level = 0;

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list