On Wed, 15 Jan 2025 17:29:34 +0100 Daniel Wagner <[email protected]> wrote:
> > There's been cases of a compiler inlining some functions for the code > > called in the same file. If that happened, then those will likely be > > dropped. That can be tested by adding: > > > > bool noinline nvme_change_ctrl_state(struct nvme_ctrl *ctrl, > > enum nvme_ctrl_state new_state) > > > > You would think it shouldn't inline it, but there's nothing in the spec > > that says it can't do so. > > This did the trick, now I see the missing state transitions. Grumble. I expect this issue to come up more often. We need a way to detect this. Come to think of it, I believe this is more of a clang "feature". As I do recall some of the other reports were from the clang compiler as well. -- Steve
