Do you know what hash function is in use? Seems to me that the default
hash function is to hash to self. May be we should test with a different
hash function.
--
Nilay
On Fri, 5 Nov 2010, Steve Reinhardt wrote:
You can look at the call graph profile further down in the gprof output to
figure out how much time is spent in functions that get called from
isTagPresent. If it's not specifically calling out findTagInSet, it may be
because it's inlined in isTagPresent.
Steve
On Fri, Nov 5, 2010 at 7:58 AM, Nilay Vaish <[email protected]> wrote:
I ran ALPHA_FS_MOESI_hammer using the following command --
./build/ALPHA_FS_MOESI_hammer/m5.prof ./configs/example/ruby_fs.py
I don't know how the benchmark is picked in case none is specified. Below
is the gprof output --
% cumulative self self total
time seconds seconds calls s/call s/call name
19.72 51.22 51.22 925285266 0.00 0.00
CacheMemory::isTagPresent(Address const&) const
5.59 65.74 14.52 229035720 0.00 0.00 Histogram::add(long
long)
3.57 75.02 9.28 212664644 0.00 0.00
CacheMemory::lookup(Address const&)
2.53 81.59 6.57 47830136 0.00 0.00
L1Cache_Controller::wakeup()
The output shows that about a fifth of the time is spent in the
isTagPresent() function.
bool
CacheMemory::isTagPresent(const Address& address) const
{
assert(address == line_address(address));
Index cacheSet = addressToCacheSet(address);
int loc = findTagInSet(cacheSet, address);
if (loc == -1) {
// We didn't find the tag
DPRINTF(RubyCache, "No tag match for address: %s\n", address);
return false;
}
DPRINTF(RubyCache, "address: %s found\n", address);
return true;
}
Since m5.prof is compiled with -DNDEBUG and -DTRACING_ON=0, the assert()
and the DPRINTF() will not get compiled. The addressToCacheSet() function
does some bitwise operations and some arithmetic operations. So it is
expected that it would not consume much time. So, most likely the
findTagInSet() function takes a major portion of the overall time required
by the isTagPresent() function.
--
Nilay
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev