OK, that makes more sense. My guess is that your problem is arising because the PhysicalMemory object is responsible for acknowledging upgrade requests when there is no cache owner, and if you have multiple PhysicalMemory objects then they will all respond. Although if they have overlapping address ranges then I'd think you'd get other problems too. I can't say more since I don't know the details of your configuration, but I hope that's enough to get you looking in the right place.
Steve On Tue, Jul 7, 2009 at 11:51 PM, Shoaib Akram <[email protected]> wrote: > Thanks for the reply. Test is indeed Not failing in the loop but at the > following statement in handleResponse(). > > MSHR::Target *initial_tgt = mshr->getTarget(); > > I believe the cache is receiving two separate Upgrade responses for a > single Upgrade request it initiated. I am modeling a system with distributed > ordering points (more like two clusters with each having a shared bus and a > snoop filter in the middle). I thought the coherence protocol ensuring a > single owner will prevent that from happening. > > > ---- Original message ---- > >Date: Mon, 6 Jul 2009 11:15:15 -0700 > >From: Steve Reinhardt <[email protected]> > >Subject: Re: [m5-users] Assertion:hasTargets() failed > >To: M5 users mailing list <[email protected]> > > > > The MSHR belongs to a single cache. There's no > > reason I can see why the test in the while loop > > would succeed but the assertion would fail. You > _______________________________________________ > m5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >
_______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
