Re: [RFC PATCH] LKMM: Add ctrl_dep() macro for control dependency

From: Mathieu Desnoyers
Date: Fri Oct 01 2021 - 13:28:06 EST


----- On Oct 1, 2021, at 12:20 PM, Linus Torvalds torvalds@xxxxxxxxxxxxxxxxxxxx wrote:
[...]
> But again - a lot of these made-up examples are exactly that: made up.
> For us to have a ctrl_dep() macro, I really want to see an actual
> honest-to-goodness case of this that we can point to.

I've spent some quality time staring at generated assembler diff in the past
days, and looking for code patterns of refcount_dec_and_test users, without
much success. There are some cases which end up working by chance, e.g. in
cases where the if leg has a smp_acquire__after_ctrl_dep and the else leg has
code that emits a barrier(), but I did not find any buggy generated
code per se. In order to observe those issues in real life, we would
really need to have identical then/else legs to the branch.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com