gem5-dev@gem5.org

The gem5 Developer List

View all threads

[S] Change in gem5/gem5[develop]: stdlib: use atomic_noncaching when using AtomicSimpleCPU with Ruby

HN
Hoa Nguyen (Gerrit)
Sun, Mar 12, 2023 2:44 AM

Hoa Nguyen has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/68877?usp=email )

Change subject: stdlib: use atomic_noncaching when using AtomicSimpleCPU
with Ruby
......................................................................

stdlib: use atomic_noncaching when using AtomicSimpleCPU with Ruby

mem_mode is supposed to be atomic_noncaching when running
AtomicSimpleCPU with Ruby cache.

Change-Id: Icb419f9370038f5c1f80dd879b187338279a5b93
Signed-off-by: Hoa Nguyen hoanguyen@ucdavis.edu
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/68877
Reviewed-by: Jason Lowe-Power power.jg@gmail.com
Maintainer: Jason Lowe-Power power.jg@gmail.com
Tested-by: kokoro noreply+kokoro@google.com

M src/python/gem5/components/processors/base_cpu_processor.py
M src/python/gem5/components/processors/simple_switchable_processor.py
2 files changed, 11 insertions(+), 0 deletions(-)

Approvals:
Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass

diff --git a/src/python/gem5/components/processors/base_cpu_processor.py
b/src/python/gem5/components/processors/base_cpu_processor.py
index d311a0f..9a75615 100644
--- a/src/python/gem5/components/processors/base_cpu_processor.py
+++ b/src/python/gem5/components/processors/base_cpu_processor.py
@@ -97,6 +97,7 @@
"'atomic_noncaching' memory mode. This will skip
caching "
"completely."
)

  •            board.set_mem_mode(MemMode.ATOMIC_NONCACHING)
            else:
                board.set_mem_mode(MemMode.ATOMIC)
        else:
    

diff --git
a/src/python/gem5/components/processors/simple_switchable_processor.py
b/src/python/gem5/components/processors/simple_switchable_processor.py
index 56603fa..e397841 100644
--- a/src/python/gem5/components/processors/simple_switchable_processor.py
+++ b/src/python/gem5/components/processors/simple_switchable_processor.py
@@ -103,6 +103,16 @@
def incorporate_processor(self, board: AbstractBoard) -> None:
super().incorporate_processor(board=board)

  •    if (
    
  •        board.get_cache_hierarchy().is_ruby()
    
  •        and self._mem_mode == MemMode.ATOMIC
    
  •    ):
    
  •        warn(
    
  •            "Using an atomic core with Ruby will result in "
    
  •            "'atomic_noncaching' memory mode. This will skip caching "
    
  •            "completely."
    
  •        )
    
  •        self._mem_mode = MemMode.ATOMIC_NONCACHING
        board.set_mem_mode(self._mem_mode)
    
    def switch(self):
    

--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/68877?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Icb419f9370038f5c1f80dd879b187338279a5b93
Gerrit-Change-Number: 68877
Gerrit-PatchSet: 4
Gerrit-Owner: Hoa Nguyen hoanguyen@ucdavis.edu
Gerrit-Reviewer: Bobby Bruce bbruce@ucdavis.edu
Gerrit-Reviewer: Hoa Nguyen hoanguyen@ucdavis.edu
Gerrit-Reviewer: Jason Lowe-Power power.jg@gmail.com
Gerrit-Reviewer: kokoro noreply+kokoro@google.com
Gerrit-MessageType: merged

Hoa Nguyen has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/68877?usp=email ) Change subject: stdlib: use atomic_noncaching when using AtomicSimpleCPU with Ruby ...................................................................... stdlib: use atomic_noncaching when using AtomicSimpleCPU with Ruby mem_mode is supposed to be atomic_noncaching when running AtomicSimpleCPU with Ruby cache. Change-Id: Icb419f9370038f5c1f80dd879b187338279a5b93 Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/68877 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com> --- M src/python/gem5/components/processors/base_cpu_processor.py M src/python/gem5/components/processors/simple_switchable_processor.py 2 files changed, 11 insertions(+), 0 deletions(-) Approvals: Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved kokoro: Regressions pass diff --git a/src/python/gem5/components/processors/base_cpu_processor.py b/src/python/gem5/components/processors/base_cpu_processor.py index d311a0f..9a75615 100644 --- a/src/python/gem5/components/processors/base_cpu_processor.py +++ b/src/python/gem5/components/processors/base_cpu_processor.py @@ -97,6 +97,7 @@ "'atomic_noncaching' memory mode. This will skip caching " "completely." ) + board.set_mem_mode(MemMode.ATOMIC_NONCACHING) else: board.set_mem_mode(MemMode.ATOMIC) else: diff --git a/src/python/gem5/components/processors/simple_switchable_processor.py b/src/python/gem5/components/processors/simple_switchable_processor.py index 56603fa..e397841 100644 --- a/src/python/gem5/components/processors/simple_switchable_processor.py +++ b/src/python/gem5/components/processors/simple_switchable_processor.py @@ -103,6 +103,16 @@ def incorporate_processor(self, board: AbstractBoard) -> None: super().incorporate_processor(board=board) + if ( + board.get_cache_hierarchy().is_ruby() + and self._mem_mode == MemMode.ATOMIC + ): + warn( + "Using an atomic core with Ruby will result in " + "'atomic_noncaching' memory mode. This will skip caching " + "completely." + ) + self._mem_mode = MemMode.ATOMIC_NONCACHING board.set_mem_mode(self._mem_mode) def switch(self): -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/68877?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: develop Gerrit-Change-Id: Icb419f9370038f5c1f80dd879b187338279a5b93 Gerrit-Change-Number: 68877 Gerrit-PatchSet: 4 Gerrit-Owner: Hoa Nguyen <hoanguyen@ucdavis.edu> Gerrit-Reviewer: Bobby Bruce <bbruce@ucdavis.edu> Gerrit-Reviewer: Hoa Nguyen <hoanguyen@ucdavis.edu> Gerrit-Reviewer: Jason Lowe-Power <power.jg@gmail.com> Gerrit-Reviewer: kokoro <noreply+kokoro@google.com> Gerrit-MessageType: merged