Messages in this thread | | | Date | Thu, 7 Aug 2008 11:52:21 -0600 (MDT) | Subject | Re: [ANNOUNCE] mdb-2.6.27-rc2-ia32-08-07-08.patch | From | jmerkey@wolfmoun ... |
| |
> jmerkey@wolfmountaingroup.com wrote: >>> jmerkey@wolfmountaingroup.com wrote: >>>> rspin locks are for these types of cases -- so if I fault on the same >>>> processor I took the lock on it just bumps a counter -- yes, it is >>>> atomic >>>> and SMP safe to do it this way. >>> Only if all contexts which take rlocks are not preemptible. > [...] >> check mdb-main.c -- I disable preemption before rspin_lock is attempted. >> Since the only processor which sets the proc number does do inside the >> spin lock, and the other processors only read it, unless memory is >> corrupted or the machine is severely broken, its SMP safe to this. > > Then it is recommendable that you document the call context requirements > at the functions. And you can and IMO should drop the _irq_save and > _irq_restore from the spinlock accessors in the rlock accessors. And > drop the volatile qualifier of the rlock accessor argument while you are > at it. > > I see that you are calling save_flags/ restore_flags in > mdb-main.c::mdb(). These are marked as deprecated. Would > local_irq_save/ local_irq_restore be correct at these places?
You have sharp eyes. Yes, you are correct. added to the list of corrections.
Jeff
> -- > Stefan Richter > -=====-==--- =--- --=== > http://arcgraph.de/sr/ >
| |