stall的概念:它是停止运转的意思,发生在当cpu执行时,所需要的数据却不在寄存器或cache中,需要去装载内存的数据,这期间有一个等待,这里叫做stall。这个时间大概是several hundred clock cycles。
现代操作系统所提供的CPU利用率的数据包括了CPU的stall,实际上stall期间CPU并没有工作。
bool FRFCFS::IsIssuable( NVMainRequest * /*request*/, FailReason * /*fail*/ )
{
bool rv = true;
/*
* Limit the number of commands in the queue. This will stall the caches/CPU.
*/
if( memQueue->size( ) >= queueSize )
{
rv = false;
}
return rv;
}