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;
}