[gem5-dev] [M] Change in gem5/gem5[develop]: misc: update gem5 links
Maryam Babaie has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/71719?usp=email ) Change subject: misc: update gem5 links .. misc: update gem5 links This change updates all of the gerrit links to use github. Change-Id: I2a020dafac0bd2ba99b26c6a9cd4f0c585e253f8 --- M CONTRIBUTING.md M util/dockerfiles/gem5-all-min-dependencies/Dockerfile M util/gem5art/artifact/README.md M util/gem5art/artifact/setup.py M util/gem5art/run/setup.py M util/gem5art/tasks/setup.py 6 files changed, 28 insertions(+), 112 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ae771d3..95c4206 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -67,8 +67,8 @@ | Submit code | +-+ -After creating your change to gem5, you can post a review on our Gerrit -code-review site: https://gem5-review.googlesource.com. Before being able to +After creating your change to gem5, you can post a review to git +via a pull request at: https://github.com/gem5/gem5/pulls/. Before being able to submit your code to the mainline of gem5, the code is reviewed by others in the community. Additionally, the maintainer for that part of the code must sign off on it. @@ -77,13 +77,13 @@ === If you plan on contributing, it is strongly encouraged for you to clone the -repository directly, and checkout the `develop` branch from our gerrit instance -at https://gem5.googlesource.com/. +repository directly, and checkout the `develop` branch from our git instance +at https://github.com/gem5/gem5/. To clone the gem5 repository: ``` - git clone https://gem5.googlesource.com/public/gem5 + git clone https://github.com/gem5/gem5/ ``` By default, the stable branch is checked out. The stable branch contains the @@ -156,7 +156,7 @@ When you run a `git commit` command the pre-commit hook will run checks on your committed code. The commit will be blocked if a check fails. -The same checks are run as part of Gerrit's CI tests (those required to obtain +The same checks are run as part of github actions CI tests (those required to obtain a Verified label, necessary for a change to be accepted to the develop branch). Therefore setting up pre-commit in your local gem5 development environment is recommended. @@ -187,8 +187,7 @@ less. Leave a blank line between the first short summary line and this detailed description. * Tags describing patch metadata. You are highly recommended to use - tags to acknowledge reviewers for their work. Gerrit will automatically add - most tags. + tags to acknowledge reviewers for their work. Tags are an optional mechanism to store additional metadata about a patch and acknowledge people who reported a bug or reviewed that patch. Tags are @@ -243,7 +242,7 @@ up-to-date when you make further changes to files which already have your copyright but with older dates. -Note: If you do not follow these guidelines, the gerrit review site will +Note: If you do not follow these guidelines, the github actions will automatically reject your patch. If this happens, update your changeset descriptions to match the required style and resubmit. The following is a useful git command to update the most recent @@ -263,20 +262,18 @@ Posting a review -If you have not signed up for an account on the Gerrit review site -(https://gem5-review.googlesource.com), you first have to create an account. +If you have not signed up for an account on the github +(https://github.com/), you first have to create an account. Setting up an account - - 1. Go to https://gem5.googlesource.com/ - 2. Click "Sign In" in the upper right corner. Note: You will need a Google - account to contribute. - 3. After signing in, click "Generate Password" and follow the instructions. + 1. Go to https://github.com/ + 2. Click "Sign up" in the upper right corner. Submitting a change --- -In gerrit, to submit a review request, you can simply push your git commits to +In github, to submit a review request, you can simply push your git commits to a special named branch. For more information on git push see https://git-scm.com/docs/git-push. @@ -284,94 +281,13 @@ Push change to gerrit review +1. Fork the gem5 repository on GitHub. +2. Create a new branch in your forked repository for your feature or bug fix. +3. Commit your changes to the new branch. +4. Push the branch to your forked repository. +5. Open a pull request from your branch in your forked repository to the main gem5 repository. -``` - git push origin HEAD:refs/for/develop -``` - -Assuming origin is https://gem5.googlesource.com/public/gem5 and you want to -push the changeset at HEAD, this will create a new review request on top of the -develop branch. More
[gem5-dev] Change in gem5/gem5[develop]: mem-cache, stats: Stats update for snoop filter
Maryam Babaie has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36355 ) Change subject: mem-cache, stats: Stats update for snoop filter .. mem-cache, stats: Stats update for snoop filter Change-Id: I339bbc4268d5b9501421a2a6a76e5267422c87aa Signed-off-by: Maryam Babaie Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/36355 Reviewed-by: Bobby R. Bruce Maintainer: Bobby R. Bruce Tested-by: kokoro --- M src/mem/snoop_filter.cc M src/mem/snoop_filter.hh 2 files changed, 36 insertions(+), 41 deletions(-) Approvals: Bobby R. Bruce: Looks good to me, approved; Looks good to me, approved kokoro: Regressions pass diff --git a/src/mem/snoop_filter.cc b/src/mem/snoop_filter.cc index 7ced30c..d799707 100644 --- a/src/mem/snoop_filter.cc +++ b/src/mem/snoop_filter.cc @@ -97,12 +97,12 @@ // updateRequest. reqLookupResult.retryItem = sf_item; -totRequests++; +stats.totRequests++; if (is_hit) { if (interested.count() == 1) -hitSingleRequests++; +stats.hitSingleRequests++; else -hitMultiRequests++; +stats.hitMultiRequests++; } DPRINTF(SnoopFilter, "%s: SF value %x.%x\n", @@ -207,12 +207,12 @@ SnoopMask interested = (sf_item.holder | sf_item.requested); -totSnoops++; +stats.totSnoops++; if (interested.count() == 1) -hitSingleSnoops++; +stats.hitSingleSnoops++; else -hitMultiSnoops++; +stats.hitMultiSnoops++; // ReadEx and Writes require both invalidation and exlusivity, while reads // require neither. Writebacks on the other hand require exclusivity but @@ -387,36 +387,26 @@ __func__, sf_item.requested, sf_item.holder); } +SnoopFilter::SnoopFilterStats::SnoopFilterStats(Stats::Group *parent): +Stats::Group(parent), +ADD_STAT(totRequests,"Total number of requests made to the snoop filter."), +ADD_STAT(hitSingleRequests, + "Number of requests hitting in the snoop filter with a single "\ + "holder of the requested data."), +ADD_STAT(hitMultiRequests, + "Number of requests hitting in the snoop filter with multiple "\ + "(>1) holders of the requested data."), +ADD_STAT(totSnoops,"Total number of snoops made to the snoop filter."), +ADD_STAT(hitSingleSnoops, + "Number of snoops hitting in the snoop filter with a single "\ + "holder of the requested data."), +ADD_STAT(hitMultiSnoops, + "Number of snoops hitting in the snoop filter with multiple "\ + "(>1) holders of the requested data.") +{} + void SnoopFilter::regStats() { SimObject::regStats(); - -totRequests -.name(name() + ".tot_requests") -.desc("Total number of requests made to the snoop filter."); - -hitSingleRequests -.name(name() + ".hit_single_requests") -.desc("Number of requests hitting in the snoop filter with a single "\ - "holder of the requested data."); - -hitMultiRequests -.name(name() + ".hit_multi_requests") -.desc("Number of requests hitting in the snoop filter with multiple "\ - "(>1) holders of the requested data."); - -totSnoops -.name(name() + ".tot_snoops") -.desc("Total number of snoops made to the snoop filter."); - -hitSingleSnoops -.name(name() + ".hit_single_snoops") -.desc("Number of snoops hitting in the snoop filter with a single "\ - "holder of the requested data."); - -hitMultiSnoops -.name(name() + ".hit_multi_snoops") -.desc("Number of snoops hitting in the snoop filter with multiple "\ - "(>1) holders of the requested data."); } diff --git a/src/mem/snoop_filter.hh b/src/mem/snoop_filter.hh index 8150494..abd66a8 100644 --- a/src/mem/snoop_filter.hh +++ b/src/mem/snoop_filter.hh @@ -94,7 +94,8 @@ SnoopFilter (const SnoopFilterParams ) : SimObject(p), reqLookupResult(cachedLocations.end()), linesize(p.system->cacheLineSize()), lookupLatency(p.lookup_latency), -maxEntryCount(p.max_capacity / p.system->cacheLineSize()) +maxEntryCount(p.max_capacity / p.system->cacheLineSize()), +stats(this) { } @@ -310,13 +311,17 @@ }; /** Statistics */ -Stats::Scalar totRequests; -Stats::Scalar hitSingleRequests; -Stats::Scalar hitMultiRequests; +struct SnoopFilterStats : public Stats::Group { +SnoopFilterStats(Stats::Group *parent); -Stats::Scalar totSnoops; -Stats::Scalar hitSingleSnoops; -Stats::Scalar hitMultiSnoops; +Stats::Scalar totRequests; +Stats::Scalar hitSingleRequests; +Stats::Scalar hitMultiRequests; + +Stats::Scalar totSnoops; +Stats::Scalar hitSingleSnoops; +
[gem5-dev] Change in gem5/gem5[develop]: mem-cache, stats: Stats update for snoop filter
Maryam Babaie has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36355 ) Change subject: mem-cache, stats: Stats update for snoop filter .. mem-cache, stats: Stats update for snoop filter Change-Id: I339bbc4268d5b9501421a2a6a76e5267422c87aa --- M src/mem/snoop_filter.cc M src/mem/snoop_filter.hh 2 files changed, 40 insertions(+), 45 deletions(-) diff --git a/src/mem/snoop_filter.cc b/src/mem/snoop_filter.cc index 7fa1f4e..3415f27 100644 --- a/src/mem/snoop_filter.cc +++ b/src/mem/snoop_filter.cc @@ -97,12 +97,12 @@ // updateRequest. reqLookupResult.retryItem = sf_item; -totRequests++; +stats.totRequests++; if (is_hit) { if (interested.count() == 1) -hitSingleRequests++; +stats.hitSingleRequests++; else -hitMultiRequests++; +stats.hitMultiRequests++; } DPRINTF(SnoopFilter, "%s: SF value %x.%x\n", @@ -207,12 +207,12 @@ SnoopMask interested = (sf_item.holder | sf_item.requested); -totSnoops++; +stats.totSnoops++; if (interested.count() == 1) -hitSingleSnoops++; +stats.hitSingleSnoops++; else -hitMultiSnoops++; +stats.hitMultiSnoops++; // ReadEx and Writes require both invalidation and exlusivity, while reads // require neither. Writebacks on the other hand require exclusivity but @@ -387,42 +387,32 @@ __func__, sf_item.requested, sf_item.holder); } +SnoopFilter::SnoopFilterStats::SnoopFilterStats(Stats::Group *parent): +Stats::Group(parent), +ADD_STAT(totRequests,"Total number of requests made to the snoop filter."), +ADD_STAT(hitSingleRequests, + "Number of requests hitting in the snoop filter with a single "\ + "holder of the requested data."), +ADD_STAT(hitMultiRequests, + "Number of requests hitting in the snoop filter with multiple "\ + "(>1) holders of the requested data."), +ADD_STAT(totSnoops,"Total number of snoops made to the snoop filter."), +ADD_STAT(hitSingleSnoops, + "Number of snoops hitting in the snoop filter with a single "\ + "holder of the requested data."), +ADD_STAT(hitMultiSnoops, + "Number of snoops hitting in the snoop filter with multiple "\ + "(>1) holders of the requested data.") +{} + void SnoopFilter::regStats() { SimObject::regStats(); - -totRequests -.name(name() + ".tot_requests") -.desc("Total number of requests made to the snoop filter."); - -hitSingleRequests -.name(name() + ".hit_single_requests") -.desc("Number of requests hitting in the snoop filter with a single "\ - "holder of the requested data."); - -hitMultiRequests -.name(name() + ".hit_multi_requests") -.desc("Number of requests hitting in the snoop filter with multiple "\ - "(>1) holders of the requested data."); - -totSnoops -.name(name() + ".tot_snoops") -.desc("Total number of snoops made to the snoop filter."); - -hitSingleSnoops -.name(name() + ".hit_single_snoops") -.desc("Number of snoops hitting in the snoop filter with a single "\ - "holder of the requested data."); - -hitMultiSnoops -.name(name() + ".hit_multi_snoops") -.desc("Number of snoops hitting in the snoop filter with multiple "\ - "(>1) holders of the requested data."); } SnoopFilter * -SnoopFilterParams::create() const +SnoopFilterParams::create() { -return new SnoopFilter(*this); +return new SnoopFilter(this); } diff --git a/src/mem/snoop_filter.hh b/src/mem/snoop_filter.hh index 8150494..33fae8c 100644 --- a/src/mem/snoop_filter.hh +++ b/src/mem/snoop_filter.hh @@ -91,10 +91,11 @@ typedef std::vector SnoopList; -SnoopFilter (const SnoopFilterParams ) : +SnoopFilter (const SnoopFilterParams *p) : SimObject(p), reqLookupResult(cachedLocations.end()), -linesize(p.system->cacheLineSize()), lookupLatency(p.lookup_latency), -maxEntryCount(p.max_capacity / p.system->cacheLineSize()) +linesize(p->system->cacheLineSize()), lookupLatency(p->lookup_latency), +maxEntryCount(p->max_capacity / p->system->cacheLineSize()), +stats(this) { } @@ -310,13 +311,17 @@ }; /** Statistics */ -Stats::Scalar totRequests; -Stats::Scalar hitSingleRequests; -Stats::Scalar hitMultiRequests; +struct SnoopFilterStats : public Stats::Group { +SnoopFilterStats(Stats::Group *parent); -Stats::Scalar totSnoops; -Stats::Scalar hitSingleSnoops; -Stats::Scalar hitMultiSnoops; +Stats::Scalar totRequests; +Stats::Scalar hitSingleRequests; +Stats::Scalar hitMultiRequests; + +Stats::Scalar totSnoops; +