SnoopFilter: Changing SnoopMask type from uint64_t to std::bitset
Review Request #2916 - Created June 24, 2015 and discarded
| Information | |
|---|---|
| Chang Hyun Park | |
| gem5 | |
| Reviewers | |
| Default | |
Changing SnoopMask type from
uint64_ttostd::bitsetThis allows the size of the system (core count) to be larger than the current system.
The # of slave ports was 2xcore + 1 for a basicexample/se.pysimulation with--cachesoption.
Thus the maximum core size when using SnoopFilter was 31 due to the 64 bit type.
Bitset allows this to be expanded, allowing the use of SnoopFilter to be used in larger core count systems.TODO: Dynamically allow the build system to specify the
MAX_CORESmacro value.
Testing done on config file
example/se.pywith--caches option.
(Modified code to add theSnoopFilter()into theSystemXBar)
Change Summary:
Changed title
Summary: |
|
||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
Description: |
|
||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Testing Done: |
|
||||||||||||||||||||||||||||||||||||||||||
Commit: |
|
||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 2 (+26 -13) |
Thanks for the patch.
I am wondering if this is really the way to go. I would argue that one enormous crossbar is not realistic for 32+ cores, and if you would create this as a number of clusters the problem should go away. Have you considered that?
Thus, you place 4-8 cores in a cluster, with their own ClusterXBar. This crossbar is then connected to the SystemXBar. By doing this the ClusterXBar should only see 16 ports and the total system could still accommodate 16 * 16 cores or more.
