I was recently testing out the linux cpufreq module and noticed that regardless of whether I was running a CPU intensive benchmark or a memory intensive benchmark, the cpufreq module always chose the maximum frequency.
I understand that the governor plays an important role in deciding the frequency settings. Thus I tested it out with both ondemand and conservative governors and found the results to be the almost the same (conservative has a tiny climb to max frequency whereas ondemand just picks max frequency immediately).
This raised the question regarding what the CPU is actually doing during a load/store. We all know that memory runs significantly slower than the CPU and load/store instructions typically take several CPU cycles to complete.
edit: I realize that many such load/store instructions will probably hit the cache. What about ones that don't?
What is the CPU actually doing during these cycles? Is it busy-waiting or idle?