Re: staging: r8188eu: how to handle nested mutex under spinlock

From: Pavel Skripkin
Date: Mon Apr 04 2022 - 17:27:34 EST


Hi David,

On 4/4/22 11:50, David Laight wrote:

> while (pwrpriv->bInSuspend &&

I've looked into what gcc11 produced from this function and looks like
my compiler is smart enough to not cache that value, but I am afraid not
all compilers are that smart.

The compiler can't cache the value because of the function call.


Hm, I am a newbie in compilers, so can you, please, explain (or give a link to any resource where I can read about it) how function call here prevent caching.

IIUC compiler generates code that works well in scope of single-threaded application, so why can't compiler cache that value instead of accessing memory on each iteration... Isn't register access a way faster than even cache hit?


Thanks!

With regards,
Pavel Skripkin

Attachment: OpenPGP_signature
Description: OpenPGP digital signature