On Thu, 10 Mar 2011, Nilay Vaish wrote:

Creating  root  params
Creating  root
Getting root
Done creating  root
Creating  system  params
Getting system.physmem
Creating  system
Getting system
Done creating  system
Creating  system.physmem  params
Creating  system.physmem
Getting system.physmem
Done creating  system.physmem
Creating  system.ruby  params
Getting system.ruby.network
Getting system.ruby.network.topology
Getting system.ruby.network.topology.ext_links0
Getting system.ruby.l1_cntrl0
Getting system.ruby.l1_cntrl0.L1DcacheMemory
Getting system.ruby
Getting system.ruby.network

--
Nilay


Steve asked where exactly is the cycle coming from. Here is the explanation -- system.ruby needs a pointer to the network object. The network object needs topology pointer, which further needs the link pointers. Each link connects two nodes. So again it needs pointers to those, in this case the external link 0 needs pointer to the cache controller. The cache controller needs pointers to cache memories that it is managing. Earlier cache memories were created just from cache configuration parameters. But now I added that pointer to RubySystem is required for construction of cache memory object. This led to a cycle in the dependence graph.

Nilay
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to