[PTLsim-devel] file stq bug
Matt T. Yourst
Tue Oct 23 19:44:33 EDT 2007
On Tuesday 23 October 2007 18:41, Krist Sun wrote:
> Hi Matt,
>
> I found that no matter how small is the STQ_SIZE set (ooocore.h), store
> queue never gets full (in statistics, stq_full = 0). I print out
> stores_in_flight, it is negative value, because it is never increased when
> a store queue entry is allocated. So actually, the program is using
> unlimited store/load queue.
>
> I try to fix it by increasing stores_in_flight by one once a store queue
> entry is allocated. But the store queue still can't get full.
> stores_in_flight is positive value.
>
The total number of loads and stores in flight is always limited by the size
of the combined load-store queue (LSQ), so it matches what real processors do
(they typically use a unified load/store queue).
You are correct that stores_in_flight is not being updated correctly - we
missed this. To fix this, in the rename() function, add this:
if unlikely (ld|st) {
rob.lsq = &lsq;
...
loads_in_flight += (lsq->store == 0); << Add this
stores_in_flight += (lsq->store == 1); << Add this
}
Thanks for pointing this out.
- Matt
-------------------------------------------------------
Matt T. Yourst yourst at peptidal.com
Peptidal Research Inc., Co-Founder and Lead Architect
-------------------------------------------------------
More information about the PTLsim-devel mailing list