Messages in this thread | | | Date | Mon, 4 Apr 2022 19:38:55 +0300 | Subject | Re: staging: r8188eu: how to handle nested mutex under spinlock | From | Pavel Skripkin <> |
| |
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 [unhandled content-type:application/pgp-signature] | |