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

Reply via email to