[...]
/*
* 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