[gem5-dev] Change in gem5/gem5[develop]: tests: Disable failing tests until root cause determined

2021-12-01 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/53504 )



Change subject: tests: Disable failing tests until root cause determined
..

tests: Disable failing tests until root cause determined

This should be a temporary change. Due to an issue, outlined here:
https://gem5.atlassian.net/browse/GEM5-1120, these tests have been
disabled. One of these tests, if not a combination of them, is causing a
timeout event to occur in the Nightly tests. They have therefore been
disabled until the exact cause of failure is established.

Change-Id: I4303e7b157dcf32a7879b014a9f5a88efa62b756
---
M tests/gem5/x86-boot-tests/test_linux_boot.py
M tests/gem5/riscv-boot-tests/test_linux_boot.py
2 files changed, 61 insertions(+), 37 deletions(-)



diff --git a/tests/gem5/riscv-boot-tests/test_linux_boot.py  
b/tests/gem5/riscv-boot-tests/test_linux_boot.py

index 7c70d1d..9eb9ae3 100644
--- a/tests/gem5/riscv-boot-tests/test_linux_boot.py
+++ b/tests/gem5/riscv-boot-tests/test_linux_boot.py
@@ -140,37 +140,41 @@

  The long (Nightly) tests 

-test_boot(
-cpu="atomic",
-num_cpus=1,
-cache_type="classic",
-length=constants.long_tag,
-)
+# Due to Nightly test timeout issues, outlined here:
+# https://gem5.atlassian.net/browse/GEM5-1120, these tests have been  
disabled
+# until the exact error causing the Nightly tests to timeout is  
established.


-test_boot(
-cpu="timing",
-num_cpus=1,
-cache_type="mi_example",
-length=constants.long_tag,
-)
+#test_boot(
+#cpu="atomic",
+#num_cpus=1,
+#cache_type="classic",
+#length=constants.long_tag,
+#)

-test_boot(
-cpu="timing",
-num_cpus=4,
-cache_type="mi_example",
-length=constants.long_tag,
-)
+#test_boot(
+#cpu="timing",
+#num_cpus=1,
+#cache_type="mi_example",
+#length=constants.long_tag,
+#)

-test_boot(
-cpu="atomic",
-num_cpus=4,
-cache_type="classic",
-length=constants.long_tag,
-)
+#test_boot(
+#cpu="timing",
+#num_cpus=4,
+#cache_type="mi_example",
+#length=constants.long_tag,
+#)

-test_boot(
-cpu="o3",
-num_cpus=8,
-cache_type="mi_example",
-length=constants.long_tag,
-)
+#test_boot(
+#cpu="atomic",
+#num_cpus=4,
+#cache_type="classic",
+#length=constants.long_tag,
+#)
+
+#test_boot(
+#cpu="o3",
+#num_cpus=8,
+#cache_type="mi_example",
+#length=constants.long_tag,
+#)
diff --git a/tests/gem5/x86-boot-tests/test_linux_boot.py  
b/tests/gem5/x86-boot-tests/test_linux_boot.py

index 600d04b..ebf520e 100644
--- a/tests/gem5/x86-boot-tests/test_linux_boot.py
+++ b/tests/gem5/x86-boot-tests/test_linux_boot.py
@@ -170,13 +170,18 @@
 length=constants.long_tag,
 )

-test_boot(
-cpu="o3",
-num_cpus=2,
-mem_system="mesi_two_level",
-boot_type="init",
-length=constants.long_tag,
-)
+
+# Due to Nightly test timeout issues, outlined here:
+# https://gem5.atlassian.net/browse/GEM5-1120, this test has been disabled
+# until the exact error causing the Nightly tests to timeout is  
established.

+
+#test_boot(
+#cpu="o3",
+#num_cpus=2,
+#mem_system="mesi_two_level",
+#boot_type="init",
+#length=constants.long_tag,
+#)

  The very-long (Weekly) tests 


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53504
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: I4303e7b157dcf32a7879b014a9f5a88efa62b756
Gerrit-Change-Number: 53504
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: tests: Update nightly.sh to separate compile and run threads

2021-12-01 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/53483 )



Change subject: tests: Update nightly.sh to separate compile and run threads
..

tests: Update nightly.sh to separate compile and run threads

This allows us to set a high number of threads for gem5 compilation
tasks, and a lower number of threads for running gem5. The latter is
more memory intensive and, therefore, we cannot always use the maximum
number of threads in a system.

Change-Id: I699d9f74b21d31841bf31e3589d323b007cb4601
---
M tests/nightly.sh
1 file changed, 31 insertions(+), 10 deletions(-)



diff --git a/tests/nightly.sh b/tests/nightly.sh
index b785d55..26f8cfe 100755
--- a/tests/nightly.sh
+++ b/tests/nightly.sh
@@ -32,11 +32,18 @@
 dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 gem5_root="${dir}/.."

-# We assume the lone argument is the number of threads. If no argument is
-# given we default to one.
-threads=1
+# The first argument is the number of threads to be used for compilation.  
If no

+# argument is given we default to one.
+compile_threads=1
 if [[ $# -gt 0 ]]; then
-threads=$1
+compile_threads=$1
+fi
+
+# The second argument is the number of threads used to run gem5 (one gem5
+# instance per thread). If no argument is given we default to one.
+run_threads=1
+if [[ $# -gt 1 ]]; then
+run_threads=$2
 fi

 build_target () {
@@ -47,8 +54,8 @@
 # compilation: https://gem5.atlassian.net/browse/GEM5-753
 docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
 "${gem5_root}" --rm gcr.io/gem5-test/ubuntu-20.04_all-dependencies  
\

-bash -c "scons build/${isa}/gem5.opt -j${threads} \
-|| (rm -rf build && scons build/${isa}/gem5.opt  
-j${threads})"

+bash -c "scons build/${isa}/gem5.opt -j${compile_threads} \
+|| (rm -rf build && scons build/${isa}/gem5.opt  
-j${compile_threads})"

 }

 unit_test () {
@@ -56,7 +63,7 @@

 docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
 "${gem5_root}" --rm gcr.io/gem5-test/ubuntu-20.04_all-dependencies  
\

-scons build/NULL/unittests.${build} -j${threads}
+scons build/NULL/unittests.${build} -j${compile_threads}
 }

 # Ensure we have the latest docker images.
@@ -78,15 +85,15 @@
 # Run the gem5 long tests.
 docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
 "${gem5_root}"/tests --rm  
gcr.io/gem5-test/ubuntu-20.04_all-dependencies \

-./main.py run --length long -j${threads} -t${threads} -vv
+./main.py run --length long -j${compile_threads} -t${run_threads}  
-vv


 # Run the GPU tests.
 # For the GPU tests we compile and run GCN3_X86 inside a gcn-gpu container.
 docker pull gcr.io/gem5-test/gcn-gpu:latest
 docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
 "${gem5_root}" gcr.io/gem5-test/gcn-gpu:latest bash -c \
-"scons build/GCN3_X86/gem5.opt -j${threads} \
-|| (rm -rf build && scons build/GCN3_X86/gem5.opt -j${threads})"
+"scons build/GCN3_X86/gem5.opt -j${compile_threads} \
+|| (rm -rf build && scons build/GCN3_X86/gem5.opt  
-j${compile_threads})"


 # get square
 wget -qN http://dist.gem5.org/dist/develop/test-progs/square/square

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53483
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: I699d9f74b21d31841bf31e3589d323b007cb4601
Gerrit-Change-Number: 53483
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: scons: CheckLinkFlag() only adds to flags if test succeeds

2021-12-01 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/53025 )


Change subject: scons: CheckLinkFlag() only adds to flags if test succeeds
..

scons: CheckLinkFlag() only adds to flags if test succeeds

Previously, did not check the return of TryLink() before appending, so
unsupported flags can be used when building shared libraries. This
patch adds checking.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-1115

Change-Id: Ief62be15009cae9e0281b4d9c2d7b26e0223
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53025
Reviewed-by: Jason Lowe-Power 
Reviewed-by: Gabe Black 
Maintainer: Jason Lowe-Power 
Maintainer: Gabe Black 
Tested-by: kokoro 
---
M site_scons/gem5_scons/configure.py
1 file changed, 22 insertions(+), 1 deletion(-)

Approvals:
  Jason Lowe-Power: Looks good to me, but someone else must approve; Looks  
good to me, approved

  Gabe Black: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass




diff --git a/site_scons/gem5_scons/configure.py  
b/site_scons/gem5_scons/configure.py

index 3993686..b335673 100644
--- a/site_scons/gem5_scons/configure.py
+++ b/site_scons/gem5_scons/configure.py
@@ -61,7 +61,7 @@
 ret = context.TryLink('int main(int, char *[]) { return 0; }', '.cc')
 if not (ret and autoadd):
 context.env['LINKFLAGS'] = last_linkflags
-if set_for_shared:
+if (ret and set_for_shared):
 assert(autoadd)
 context.env.Append(SHLINKFLAGS=[flag])
 context.Result(ret)

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53025
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: Ief62be15009cae9e0281b4d9c2d7b26e0223
Gerrit-Change-Number: 53025
Gerrit-PatchSet: 2
Gerrit-Owner: Arun Rodrigues 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: ext: Update ext/sst/INSTALL.md

2021-12-01 Thread Hoa Nguyen (Gerrit) via gem5-dev
Hoa Nguyen has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/53463 )


Change subject: ext: Update ext/sst/INSTALL.md
..

ext: Update ext/sst/INSTALL.md

Currently, the installation instructions are for installing
SST-core and SST-elements version 11.0.0. This change updates
instructions to the current SST-core and SST-element version,
11.1.0.

This change also reflects that manually downloading the
`bbl-busybox-boot-exit` is no longer necessary as the example
gem5 config will download automatically.

Change-Id: I616ca38316213dcbd71b6eab121b5ac89eed1962
Signed-off-by: Hoa Nguyen 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53463
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M ext/sst/INSTALL.md
1 file changed, 35 insertions(+), 15 deletions(-)

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




diff --git a/ext/sst/INSTALL.md b/ext/sst/INSTALL.md
index 4268724..46ff4f0 100644
--- a/ext/sst/INSTALL.md
+++ b/ext/sst/INSTALL.md
@@ -11,14 +11,14 @@
 ### Downloading the SST-Core Source Code

 ```sh
-wget  
https://github.com/sstsimulator/sst-core/releases/download/v11.0.0_Final/sstcore-11.0.0.tar.gz

-tar xf sstcore-11.0.0.tar.gz
+wget  
https://github.com/sstsimulator/sst-core/releases/download/v11.1.0_Final/sstcore-11.1.0.tar.gz

+tar xf sstcore-11.1.0.tar.gz
 ```

 ### Installing SST-Core

 ```sh
-cd sstcore-11.0.0
+cd sstcore-11.1.0
 ./configure --prefix=$SST_CORE_HOME --with-python=/usr/bin/python3-config \
 --disable-mpi # optional, used when MPI is not available.
 make all -j$(nproc)
@@ -36,14 +36,14 @@
 ### Downloading the SST-Elements Source Code

 ```sh
-wget  
https://github.com/sstsimulator/sst-elements/releases/download/v11.0.0_Final/sstelements-11.0.0.tar.gz

-tar xf sstelements-11.0.0.tar.gz
+wget  
https://github.com/sstsimulator/sst-elements/releases/download/v11.1.0_Final/sstelements-11.1.0.tar.gz

+tar xf sstelements-11.1.0.tar.gz
 ```

 ### Installing SST-Elements

-```shs
-cd sst-elements-library-11.0.0
+```sh
+cd sst-elements-library-11.1.0
 ./configure --prefix=$SST_CORE_HOME --with-python=/usr/bin/python3-config \
 --with-sst-core=$SST_CORE_HOME
 make all -j$(nproc)
@@ -75,20 +75,17 @@

 ### Running an example simulation

-Downloading the built bootloader containing a Linux Kernel and a workload,
-
-```sh
-wget http://dist.gem5.org/dist/develop/misc/riscv/bbl-busybox-boot-exit
-```
-
 Running the simulation

 ```sh
 sst --add-lib-path=./ sst/example.py
 ```

-`bbl-busybox-boot-exit` contains an m5 binary, and `m5 exit` will be called
-upon the booting process reaching the early userspace.
+The example SST system configuration will instantiate the gem5 system
+as specified in the gem5 system configuration located at
+`gem5/configs/example/sst/riscv_fs.py`. This configuration will download
+the `bbl-busybox-boot-exit` resource, which contains an m5 binary, and
+`m5 exit` will be called upon the booting process reaching the early  
userspace.
 More information about building a bootloader containing a Linux Kernel and  
a

 customized workload is available at
  
[https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/develop/src/riscv-boot-exit-nodisk/].


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53463
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: I616ca38316213dcbd71b6eab121b5ac89eed1962
Gerrit-Change-Number: 53463
Gerrit-PatchSet: 2
Gerrit-Owner: Hoa Nguyen 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: Hoa Nguyen 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Re: Incorrect disassembly/register width in Aarch64 ?

2021-12-01 Thread Arthur Perais via gem5-dev

Hi Giacomo,

Thank you for the explanation, the base register is indeed SP here. I 
will look into how your suggestion (intWidth per register) can be 
implemented.


Arthur

On 12/1/21 11:58 AM, Giacomo Travaglini wrote:


Hi Arthur, this is a known issue in disassembling and arises when 
multiple register operands have different width. For example your load 
is likely using the 64-bit SP as base register and loading the value 
into 32-bit w1.


Gem5 is not capturing this per-operand-width and it is reporting a 
single intWidth of 64. A proper fix would involve having a per-operand 
intWidth variable (or something similar)


Kind Regards

Giacomo

*From: *Arthur Perais via gem5-dev 
*Date: *Tuesday, 30 November 2021 at 17:06
*To: *gem5-dev@gem5.org 
*Cc: *Arthur Perais 
*Subject: *[gem5-dev] Incorrect disassembly/register width in Aarch64 ?

Hi all,

I am using a fairly old gem5 version
(566c113de1eb08ccbfba6e4b074f96c9977a0e16 from Nov 2020), but I noticed
that the disassembly (and the register width) of some Aarch64
instructions seems to be incorrectly reported by gem5.

Notably, instruction :

ldrĀ  w1, [sp, #168] (0xb940abe1 according to objdump)

Is reported in gem5 as

ldrĀ  x1, [sp, #168] (0xf94057e1 according to objdump)

And the getIntWidth() method that can be called on the staticInst
reports 64 (when it reports 32 for instructions that write into a "word"
register).

I have not found a patch addressing this but maybe this has been fixed
already, or maybe this is known to happen under some specific
configuration of an Aarch64 system.

Best,

Arthur Perais
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended 
recipient, please notify the sender immediately and do not disclose 
the contents to any other person, use it for any purpose, or store or 
copy the information in any medium. Thank you. 
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Re: Incorrect disassembly/register width in Aarch64 ?

2021-12-01 Thread Giacomo Travaglini via gem5-dev
Hi Arthur, this is a known issue in disassembling and arises when multiple 
register operands have different width. For example your load is likely using 
the 64-bit SP as base register and loading the value into 32-bit w1.

Gem5 is not capturing this per-operand-width and it is reporting a single 
intWidth of 64. A proper fix would involve having a per-operand intWidth 
variable (or something similar)

Kind Regards

Giacomo

From: Arthur Perais via gem5-dev 
Date: Tuesday, 30 November 2021 at 17:06
To: gem5-dev@gem5.org 
Cc: Arthur Perais 
Subject: [gem5-dev] Incorrect disassembly/register width in Aarch64 ?
Hi all,

I am using a fairly old gem5 version
(566c113de1eb08ccbfba6e4b074f96c9977a0e16 from Nov 2020), but I noticed
that the disassembly (and the register width) of some Aarch64
instructions seems to be incorrectly reported by gem5.

Notably, instruction :

ldr  w1, [sp, #168] (0xb940abe1 according to objdump)

Is reported in gem5 as

ldr  x1, [sp, #168] (0xf94057e1 according to objdump)

And the getIntWidth() method that can be called on the staticInst
reports 64 (when it reports 32 for instructions that write into a "word"
register).

I have not found a patch addressing this but maybe this has been fixed
already, or maybe this is known to happen under some specific
configuration of an Aarch64 system.

Best,

Arthur Perais
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s