As currently implemented, the parameters you describe result in only 2 of the L2 caches being used, with the third being empty.
The configuration scripts limit the number of bits to the power of 2 below the number of L2 caches. If we try to use the power of 2 above the number of L2 caches, e.g. 2 bits for selecting among 3 caches, then Ruby assumes that there are 4 caches, not 3, which causes errors. I agree that supporting that situation would be valuable, but this patch is mainly about making it obvious that it isn't right now, rather than continuing to execute without using all caches. Thanks, David -----Original Message----- From: Nilay Vaish [mailto:[email protected]] Sent: Tuesday, July 14, 2015 10:35 AM To: Hashe, David Cc: Default Subject: Re: Review Request 2970: config: Fail if not using all L2 caches in ruby protocols On Tue, 14 Jul 2015, David Hashe wrote: > > >> On July 14, 2015, 3:01 p.m., Nilay Vaish wrote: >>> Are you assuming that physical memory size is a power of 2? > > If the physical memory size is not a power of 2, the issue still arises. The > problem lies with how the addresses are assigned to L2 caches. > What if I have 3GB of physical memory and 3 L2 caches, with cache responsible for 1GB of addresses? This is possible situation and we should support it. I think the way you are using address bits is not right. In this particular example if you use the two highest order bits, things should work fine. -- Nilay _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
