Messages in this thread | | | Date | Thu, 14 Jun 2018 13:49:44 +0200 | From | Andrea Parri <> | Subject | Re: [PATCH v2 1/2] locking: Implement an algorithm choice for Wound-Wait mutexes |
| |
[...]
> >>+ /* > >>+ * wake_up_process() paired with set_current_state() inserts > >>+ * sufficient barriers to make sure @owner either sees it's > >>+ * wounded or has a wakeup pending to re-read the wounded > >>+ * state. > >IIUC, "sufficient barriers" = full memory barriers (here). (You may > >want to be more specific.) > > Thanks for reviewing! > OK. What about if someone relaxes that in the future?
This is actually one of my main concerns ;-) as, IIUC, those barriers are not only sufficient but also necessary: anything "less than a full barrier" (in either wake_up_process() or set_current_state()) would _not_ guarantee the "condition" above unless I'm misunderstanding it.
But am I misunderstanding it? Which barriers/guarantee do you _need_ from the above mentioned pairing? (hence my comment...)
Andrea
| |