[gem5-dev] Build failed in Jenkins: nightly #424

2022-11-17 Thread jenkins-no-reply--- via gem5-dev
See 

Changes:


--
[...truncated 316.93 KB...]
Starting Test Case: realview-simple-timing-ALL-x86_64-opt
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5out3cd82ng9 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-simple-atomic.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-switcheroo-timing-ALL-x86_64-opt 
Starting Test Case: realview-switcheroo-timing-ALL-x86_64-opt
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outfspt_ez8 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-minor.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview64-o3-dual-ALL-x86_64-opt 
Starting Test Case: realview64-o3-dual-ALL-x86_64-opt
Starting Test Suite: realview-switcheroo-o3-ALL-x86_64-opt 
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outc5_h_1qd -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview64-minor-dual.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Case: realview-switcheroo-o3-ALL-x86_64-opt
Starting Test Suite: realview64-o3-ALL-x86_64-opt 
Starting Test Case: realview64-o3-ALL-x86_64-opt
Starting Test Suite: realview-simple-atomic-ALL-x86_64-opt 
Starting Test Case: realview-simple-atomic-ALL-x86_64-opt
Starting Test Suite: realview-minor-ALL-x86_64-opt 
Starting Test Case: realview-minor-ALL-x86_64-opt
Starting Test Suite: realview64-minor-dual-ALL-x86_64-opt 
Starting Test Case: realview64-minor-dual-ALL-x86_64-opt
Test: realview-switcheroo-timing-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outaciiycyx -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-o3.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-o3-ALL-x86_64-opt 
Starting Test Case: realview-o3-ALL-x86_64-opt
Test: realview-simple-atomic-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5out7__vdc7u -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-simple-atomic-checkpoint.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-simple-atomic-checkpoint-ALL-x86_64-opt 
Starting Test Case: realview-simple-atomic-checkpoint-ALL-x86_64-opt
Test: realview-simple-timing-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outsqeivor2 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-switcheroo-atomic.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-switcheroo-atomic-ALL-x86_64-opt 
Starting Test Case: realview-switcheroo-atomic-ALL-x86_64-opt
Test: realview64-minor-dual-ALL-x86_64-opt Passed
Test: realview64-minor-dual-ALL-x86_64-opt-MatchFileRegex Passed
Starting Test Case: realview64-minor-dual-ALL-x86_64-opt-MatchFileRegex
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outi9ugi615 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview64-switcheroo-o3.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview64-switcheroo-o3-ALL-x86_64-opt 
Starting Test Case: realview64-switcheroo-o3-ALL-x86_64-opt
Test: realview-switcheroo-atomic-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outn6oie_7b -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview64-switcheroo-full.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview64-switcheroo-full-ALL-x86_64-opt 
Starting Test Case: 

[gem5-dev] [L] Change in gem5/gem5[develop]: Implement rv32 zicsr extension

2022-11-17 Thread Roger Chang (Gerrit) via gem5-dev
Roger Chang has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/65733?usp=email )



Change subject: Implement rv32 zicsr extension
..

Implement rv32 zicsr extension

1. Add misc register mstatush, cycleh, timeh, instreth,
   hpmcounter03...hpmcounter31, pmpcfg1, pmpcfg3
2. Implement handling RV32 only registers
3. Implement methods of set time CSR
4. add cycleh, timeh to gdb-xml

Change-Id: I5c55c18a0da91977d6e23da24ea3cbcba9f0509b
---
M src/arch/riscv/gdb-xml/riscv-32bit-csr.xml
M src/arch/riscv/isa.cc
M src/arch/riscv/isa/formats/standard.isa
M src/arch/riscv/regs/misc.hh
M src/dev/riscv/clint.cc
5 files changed, 495 insertions(+), 205 deletions(-)



diff --git a/src/arch/riscv/gdb-xml/riscv-32bit-csr.xml  
b/src/arch/riscv/gdb-xml/riscv-32bit-csr.xml

index 8d56ad5..fee676e 100644
--- a/src/arch/riscv/gdb-xml/riscv-32bit-csr.xml
+++ b/src/arch/riscv/gdb-xml/riscv-32bit-csr.xml
@@ -56,6 +56,8 @@
   
   
   
+  
+  
   

[gem5-dev] Re: Build failed in Jenkins: nightly #413

2022-11-17 Thread Bobby Bruce via gem5-dev
I've submitted this change which reverts the changes:
https://gem5-review.googlesource.com/c/public/gem5/+/65732.

I don't consider this a proper solution and i'm only submitting it so I can
continue to run the nightly tests (hopefully they start to pass again...).
So, in short, feel free to revert these reverts at some point.

Kind regards,
Bobby

--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Thu, Nov 17, 2022 at 4:13 PM Bobby Bruce  wrote:

> Hey all,
>
> So this patch worked but we ran into another bug which also triggered a
> timeout. This time it's due to a stalling when running the realview tests.
> I'm unsure right now if this affects other tests, but at least the
> `SuiteUID:tests/gem5/fs/linux/arm/test.py:realview-switcheroo-noncaching-timing-ALL-x86_64-opt`
> test reaches a point and stalls. This can be reproduced locally with:
>
> ```
> ./build/ALL/gem5.opt tests/gem5/fs/linux/arm/run.py
> tests/gem5/configs/realview-switcheroo-noncaching-timing.py
> tests/gem5/resources/arm “$(pwd)”
> ```
>
> The test outputs the following then halts indefinitely:
>
> ```
> Global frequency set at 1 ticks per second
> build/ALL/base/vnc/vncserver.cc:163: warn: Sockets disabled, not accepting
> vnc client connections
> build/ALL/dev/serial/terminal.cc:170: warn: Sockets disabled, not
> accepting terminal connections
> build/ALL/base/remote_gdb.cc:416: warn: Sockets disabled, not accepting
> gdb connections
> build/ALL/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no
> enabled DVFSHandler found.
> build/ALL/dev/arm/gic_v3_distributor.cc:884: warn:
> Gicv3Distributor::write(): setting ARE_NS to 0 is not supported!
> build/ALL/dev/arm/gic_v3_distributor.cc:889: warn:
> Gicv3Distributor::write(): setting ARE_S to 0 is not supported!
> build/ALL/dev/arm/rv_ctrl.cc:176: warn: SCReg: Access to unknown device
> dcc0:site0:pos0:fn7:dev0
> build/ALL/sim/power_state.cc:105: warn: PowerState: Already in the
> requested power state, request ignored
> build/ALL/dev/arm/gic_v3_distributor.cc:913: warn:
> Gicv3Distributor::write(): setting ARE_NS to 0 is not supported!
> ```
>
> I did a bisect and found the commit that breaks this test:
> https://gem5-review.googlesource.com/c/public/gem5/+/65291.
>
> If you revert this, with the following:
>
> ```
> git revert dd2f1fb2f8520849f10fc25fc5eab5beaa90a7d4 #
> https://gem5-review.googlesource.com/c/public/gem5/+/65174/7
>
> git revert 47bd56ee71ba1d684138365e7123aa779989ba1d #
> https://gem5-review.googlesource.com/c/public/gem5/+/65291
> ```
>
> the test passes again.
>
> @Giacomo : Do you have any good solutions for this bug? Above is pretty
> much all the information I have regarding this failure.
>
> Kind regards,
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Tue, Nov 15, 2022 at 7:25 AM Jason Lowe-Power 
> wrote:
> >
> > Hi Matt,
> >
> > That might work for KVM, but it doesn't work for the timing CPUs as far
> as I know. The problem we ran into was not with KVM but with the timing
> CPUs.
> >
> > The underlying problem is that we are not modeling the system correctly.
> Either there's something wrong with our cpuid instruction (it's definitely
> not a "valid" result! but I'm not sure if it's the main problem here), or
> there's something wrong with our APIC implementation. Almost certainly both
> are true, but I don't know which one is the main culprit here.
> >
> > Cheers,
> > Jason
> >
> > On Mon, Nov 14, 2022 at 5:05 PM Poremba, Matthew via gem5-dev <
> gem5-dev@gem5.org> wrote:
> >>
> >> [AMD Official Use Only - General]
> >>
> >>
> >> Hi Bobby,
> >>
> >>
> >>
> >>
> >>
> >> I have seen this issue with do_boot_cpu as well. The short story is I
> had to use multiple event queues and set the “sim_quantum” of the Root
> object to 1e8:  https://gem5-review.googlesource.com/c/public/gem5/+/65131.
>   Note that 1e8 is different from the 1e9 value used elsewhere in gem5.
> Based on a test of doing 100 boots with 4 CPUs, 1e8 booted all four CPUs
> every time and 1e9 booted all four CPUs only twice.
> >>
> >>
> >>
> >>
> >>
> >> -Matt
> >>
> >>
> >>
> >> From: Bobby Bruce via gem5-dev 
> >> Sent: Monday, November 14, 2022 10:37 AM
> >> To: gem5-dev@gem5.org
> >> Cc: Bobby Bruce 
> >> Subject: [gem5-dev] Re: Build failed in Jenkins: nightly #413
> >>
> >>
> >>
> >> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> >>
> >>
> >>
> >> Hey all,
> >>
> >>
> >>
> >> I've submitted the following patch to Gerrit which should fix the
> timeout issues we're seeing with the Jenkin's nightly build:
> https://gem5-review.googlesource.com/c/public/gem5/+/65492.
> >>
> >>
> >>
> >> The high level summary of the problem is as follows:
> >>
> >>
> >>
> >> - Up until recently we were using "m5 Simulator" as the "vendor_string"
> for each 

[gem5-dev] [M] Change in gem5/gem5[develop]: arch-arm: Revert 'Setup TC/ISA at construction time..'

2022-11-17 Thread Bobby Bruce (Gerrit) via gem5-dev
Bobby Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/65732?usp=email )



Change subject: arch-arm: Revert 'Setup TC/ISA at construction time..'
..

arch-arm: Revert 'Setup TC/ISA at construction time..'

Reverts:

dd2f1fb2f8520849f10fc25fc5eab5beaa90a7d4
https://gem5-review.googlesource.com/c/public/gem5/+/65174

and

47bd56ee71ba1d684138365e7123aa779989ba1d
https://gem5-review.googlesource.com/c/public/gem5/+/65291

The 47bd56ee change resulted in the
`SuiteUID:tests/gem5/fs/linux/arm/test.py:realview-switcheroo-noncaching-timing-ALL-x86_64-opt`
nightly test stalling. This behavior can be reproduced with:

```
./build/ALL/gem5.opt tests/gem5/fs/linux/arm/run.py  
tests/gem5/configs/realview-switcheroo-noncaching-timing.py  
tests/gem5/resources/arm “$(pwd)”

```

The subsequent change, dd2f1fb2, must be reverted for this change to be
reverted.

Change-Id: I6fed74f33d013f321b93cf1a73eee404cb87ce18
---
M src/arch/arm/isa.cc
M src/dev/arm/gic_v3.cc
M src/dev/arm/gic_v3_cpu_interface.cc
M src/dev/arm/gic_v3_cpu_interface.hh
4 files changed, 58 insertions(+), 20 deletions(-)



diff --git a/src/arch/arm/isa.cc b/src/arch/arm/isa.cc
index fd19f72..a30fd94 100644
--- a/src/arch/arm/isa.cc
+++ b/src/arch/arm/isa.cc
@@ -523,6 +523,16 @@
 return;

 selfDebug->init(tc);
+
+Gicv3 *gicv3 = dynamic_cast(system->getGIC());
+if (!gicv3)
+return;
+
+if (!gicv3CpuInterface)
+gicv3CpuInterface.reset(gicv3->getCPUInterface(tc->contextId()));
+
+gicv3CpuInterface->setISA(this);
+gicv3CpuInterface->setThreadContext(tc);
 }

 void
@@ -1998,15 +2008,7 @@
 BaseISADevice &
 ISA::getGICv3CPUInterface()
 {
-if (gicv3CpuInterface)
-return *gicv3CpuInterface.get();
-
-assert(system);
-Gicv3 *gicv3 = dynamic_cast(system->getGIC());
-panic_if(!gicv3, "The system does not have a GICv3 irq controller\n");
-
-gicv3CpuInterface.reset(gicv3->getCPUInterface(tc->contextId()));
-
+panic_if(!gicv3CpuInterface, "GICV3 cpu interface is not registered!");
 return *gicv3CpuInterface.get();
 }

diff --git a/src/dev/arm/gic_v3.cc b/src/dev/arm/gic_v3.cc
index e14d1f2..dde3818 100644
--- a/src/dev/arm/gic_v3.cc
+++ b/src/dev/arm/gic_v3.cc
@@ -147,7 +147,7 @@

 for (int i = 0; i < threads; i++) {
 redistributors[i] = new Gicv3Redistributor(this, i);
-cpuInterfaces[i] = new Gicv3CPUInterface(this, sys->threads[i]);
+cpuInterfaces[i] = new Gicv3CPUInterface(this, i);
 }

 distRange = RangeSize(params().dist_addr,
diff --git a/src/dev/arm/gic_v3_cpu_interface.cc  
b/src/dev/arm/gic_v3_cpu_interface.cc

index a11dd9b..0e1dbaa 100644
--- a/src/dev/arm/gic_v3_cpu_interface.cc
+++ b/src/dev/arm/gic_v3_cpu_interface.cc
@@ -55,19 +55,15 @@
 const uint8_t Gicv3CPUInterface::GIC_MIN_BPR;
 const uint8_t Gicv3CPUInterface::GIC_MIN_BPR_NS;

-Gicv3CPUInterface::Gicv3CPUInterface(Gicv3 * gic, ThreadContext *_tc)
+Gicv3CPUInterface::Gicv3CPUInterface(Gicv3 * gic, uint32_t cpu_id)
 : BaseISADevice(),
   gic(gic),
   redistributor(nullptr),
   distributor(nullptr),
-  tc(_tc),
-  maintenanceInterrupt(gic->params().maint_int->get(tc)),
-  cpuId(tc->contextId())
+  cpuId(cpu_id)
 {
 hppi.prio = 0xff;
 hppi.intid = Gicv3::INTID_SPURIOUS;
-
-setISA(static_cast(tc->getIsaPtr()));
 }

 void
@@ -84,6 +80,15 @@
 hppi.prio = 0xff;
 }

+void
+Gicv3CPUInterface::setThreadContext(ThreadContext *_tc)
+{
+tc = _tc;
+maintenanceInterrupt = gic->params().maint_int->get(tc);
+fatal_if(maintenanceInterrupt->num() >=  
redistributor->irqPending.size(),

+"Invalid maintenance interrupt number\n");
+}
+
 bool
 Gicv3CPUInterface::getHCREL2FMO() const
 {
diff --git a/src/dev/arm/gic_v3_cpu_interface.hh  
b/src/dev/arm/gic_v3_cpu_interface.hh

index c39fab7..e860373 100644
--- a/src/dev/arm/gic_v3_cpu_interface.hh
+++ b/src/dev/arm/gic_v3_cpu_interface.hh
@@ -68,11 +68,11 @@
 Gicv3 * gic;
 Gicv3Redistributor * redistributor;
 Gicv3Distributor * distributor;
-
-ThreadContext *tc;
-ArmInterruptPin *maintenanceInterrupt;
 uint32_t cpuId;

+ArmInterruptPin *maintenanceInterrupt;
+ThreadContext *tc;
+
 BitUnion64(ICC_CTLR_EL1)
 Bitfield<63, 20> res0_3;
 Bitfield<19> ExtRange;
@@ -359,7 +359,7 @@
 void setBankedMiscReg(ArmISA::MiscRegIndex misc_reg, RegVal val) const;
   public:

-Gicv3CPUInterface(Gicv3 * gic, ThreadContext *tc);
+Gicv3CPUInterface(Gicv3 * gic, uint32_t cpu_id);

 void init();

@@ -369,6 +369,7 @@
   public: // BaseISADevice
 RegVal readMiscReg(int misc_reg) override;
 void setMiscReg(int misc_reg, RegVal val) override;
+void setThreadContext(ThreadContext *tc) override;
 };

 } // namespace gem5

--
To view, visit  
https://gem5-review.googlesource.com/c/public/gem5/+/65732?usp=email
To 

[gem5-dev] Re: Build failed in Jenkins: nightly #413

2022-11-17 Thread Bobby Bruce via gem5-dev
Hey all,

So this patch worked but we ran into another bug which also triggered a
timeout. This time it's due to a stalling when running the realview tests.
I'm unsure right now if this affects other tests, but at least the
`SuiteUID:tests/gem5/fs/linux/arm/test.py:realview-switcheroo-noncaching-timing-ALL-x86_64-opt`
test reaches a point and stalls. This can be reproduced locally with:

```
./build/ALL/gem5.opt tests/gem5/fs/linux/arm/run.py
tests/gem5/configs/realview-switcheroo-noncaching-timing.py
tests/gem5/resources/arm “$(pwd)”
```

The test outputs the following then halts indefinitely:

```
Global frequency set at 1 ticks per second
build/ALL/base/vnc/vncserver.cc:163: warn: Sockets disabled, not accepting
vnc client connections
build/ALL/dev/serial/terminal.cc:170: warn: Sockets disabled, not accepting
terminal connections
build/ALL/base/remote_gdb.cc:416: warn: Sockets disabled, not accepting gdb
connections
build/ALL/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no
enabled DVFSHandler found.
build/ALL/dev/arm/gic_v3_distributor.cc:884: warn:
Gicv3Distributor::write(): setting ARE_NS to 0 is not supported!
build/ALL/dev/arm/gic_v3_distributor.cc:889: warn:
Gicv3Distributor::write(): setting ARE_S to 0 is not supported!
build/ALL/dev/arm/rv_ctrl.cc:176: warn: SCReg: Access to unknown device
dcc0:site0:pos0:fn7:dev0
build/ALL/sim/power_state.cc:105: warn: PowerState: Already in the
requested power state, request ignored
build/ALL/dev/arm/gic_v3_distributor.cc:913: warn:
Gicv3Distributor::write(): setting ARE_NS to 0 is not supported!
```

I did a bisect and found the commit that breaks this test:
https://gem5-review.googlesource.com/c/public/gem5/+/65291.

If you revert this, with the following:

```
git revert dd2f1fb2f8520849f10fc25fc5eab5beaa90a7d4 #
https://gem5-review.googlesource.com/c/public/gem5/+/65174/7

git revert 47bd56ee71ba1d684138365e7123aa779989ba1d #
https://gem5-review.googlesource.com/c/public/gem5/+/65291
```

the test passes again.

@Giacomo : Do you have any good solutions for this bug? Above is pretty
much all the information I have regarding this failure.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Tue, Nov 15, 2022 at 7:25 AM Jason Lowe-Power 
wrote:
>
> Hi Matt,
>
> That might work for KVM, but it doesn't work for the timing CPUs as far
as I know. The problem we ran into was not with KVM but with the timing
CPUs.
>
> The underlying problem is that we are not modeling the system correctly.
Either there's something wrong with our cpuid instruction (it's definitely
not a "valid" result! but I'm not sure if it's the main problem here), or
there's something wrong with our APIC implementation. Almost certainly both
are true, but I don't know which one is the main culprit here.
>
> Cheers,
> Jason
>
> On Mon, Nov 14, 2022 at 5:05 PM Poremba, Matthew via gem5-dev <
gem5-dev@gem5.org> wrote:
>>
>> [AMD Official Use Only - General]
>>
>>
>> Hi Bobby,
>>
>>
>>
>>
>>
>> I have seen this issue with do_boot_cpu as well. The short story is I
had to use multiple event queues and set the “sim_quantum” of the Root
object to 1e8:  https://gem5-review.googlesource.com/c/public/gem5/+/65131.
  Note that 1e8 is different from the 1e9 value used elsewhere in gem5.
Based on a test of doing 100 boots with 4 CPUs, 1e8 booted all four CPUs
every time and 1e9 booted all four CPUs only twice.
>>
>>
>>
>>
>>
>> -Matt
>>
>>
>>
>> From: Bobby Bruce via gem5-dev 
>> Sent: Monday, November 14, 2022 10:37 AM
>> To: gem5-dev@gem5.org
>> Cc: Bobby Bruce 
>> Subject: [gem5-dev] Re: Build failed in Jenkins: nightly #413
>>
>>
>>
>> Caution: This message originated from an External Source. Use proper
caution when opening attachments, clicking links, or responding.
>>
>>
>>
>> Hey all,
>>
>>
>>
>> I've submitted the following patch to Gerrit which should fix the
timeout issues we're seeing with the Jenkin's nightly build:
https://gem5-review.googlesource.com/c/public/gem5/+/65492.
>>
>>
>>
>> The high level summary of the problem is as follows:
>>
>>
>>
>> - Up until recently we were using "m5 Simulator" as the "vendor_string"
for each CPU in a gem5 simulation by default.
>>
>> - The latest versions of GLIB are now much stricter in checking system
capabilities. It does not recognize "m5 Simulator" as a legitimate vendor
and this causes problems. We became aware of this when trying to run SE
workloads in Ubuntu 22.04 or running FS Ubuntu 22.04 workloads.
>>
>> - Jason changed the default vendor string to "AuthenticAMD" via this
commit: https://gem5-review.googlesource.com/c/public/gem5/+/64831. This
fixed the above problems but due to a bug, highlighted here:
https://gem5.atlassian.net/browse/GEM5-1300, Linux boots were taking an
extremely long time. This caused our Nightly tests to reach timeout.
>>
>> - Our solution is to change the default vector string "HygonGenuine".
This fixes all of the problems 

[gem5-dev] [S] Change in gem5/gem5[develop]: dev-amdgpu: Store SDMA queue type, use for ring ID

2022-11-17 Thread Matthew Poremba (Gerrit) via gem5-dev
Matthew Poremba has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/65691?usp=email )



Change subject: dev-amdgpu: Store SDMA queue type, use for ring ID
..

dev-amdgpu: Store SDMA queue type, use for ring ID

Currently the SDMA queue type is guessed in the trap method by looking
at which queue in the engine is processing packets. It is possible for
both queues to be processing (e.g., one queue sent a DMA and is waiting
then switch to another queue), triggering an assert.

Instead store the queue type in the queue itself and use that type in
trap to determine which ring ID to use for the interrupt packet.

Change-Id: If91c458e60a03f2013c0dc42bab0b1673e3dbd84
---
M src/dev/amdgpu/sdma_engine.cc
M src/dev/amdgpu/sdma_engine.hh
2 files changed, 26 insertions(+), 6 deletions(-)



diff --git a/src/dev/amdgpu/sdma_engine.cc b/src/dev/amdgpu/sdma_engine.cc
index 59c5027..02203c8 100644
--- a/src/dev/amdgpu/sdma_engine.cc
+++ b/src/dev/amdgpu/sdma_engine.cc
@@ -55,11 +55,15 @@
 gfxIb.parent();
 gfx.valid(true);
 gfxIb.valid(true);
+gfx.queueType(SDMAGfx);
+gfxIb.queueType(SDMAGfx);

 page.ib();
 pageIb.parent();
 page.valid(true);
 pageIb.valid(true);
+page.queueType(SDMAPage);
+pageIb.queueType(SDMAPage);

 rlc0.ib();
 rlc0Ib.parent();
@@ -727,11 +731,7 @@

 DPRINTF(SDMAEngine, "Trap contextId: %p\n", pkt->intrContext);

-uint32_t ring_id = 0;
-assert(page.processing() ^ gfx.processing());
-if (page.processing()) {
-ring_id = 3;
-}
+uint32_t ring_id = (q->queueType() == SDMAPage) ? 3 : 0;

 gpuDevice->getIH()->prepareInterruptCookie(pkt->intrContext, ring_id,
getIHClientId(), TRAP_ID);
diff --git a/src/dev/amdgpu/sdma_engine.hh b/src/dev/amdgpu/sdma_engine.hh
index d0afaf7..0bfee12 100644
--- a/src/dev/amdgpu/sdma_engine.hh
+++ b/src/dev/amdgpu/sdma_engine.hh
@@ -64,9 +64,10 @@
 bool _processing;
 SDMAQueue *_parent;
 SDMAQueue *_ib;
+SDMAType _type;
   public:
 SDMAQueue() : _rptr(0), _wptr(0), _valid(false),  
_processing(false),

-_parent(nullptr), _ib(nullptr) {}
+_parent(nullptr), _ib(nullptr), _type(SDMAGfx) {}

 Addr base() { return _base; }
 Addr rptr() { return _base + _rptr; }
@@ -80,6 +81,7 @@
 bool processing() { return _processing; }
 SDMAQueue* parent() { return _parent; }
 SDMAQueue* ib() { return _ib; }
+SDMAType queueType() { return _type; }

 void base(Addr value) { _base = value; }

@@ -111,6 +113,7 @@
 void processing(bool value) { _processing = value; }
 void parent(SDMAQueue* q) { _parent = q; }
 void ib(SDMAQueue* ib) { _ib = ib; }
+void queueType(SDMAType type) { _type = type; }
 };

 /* SDMA Engine ID */

--
To view, visit  
https://gem5-review.googlesource.com/c/public/gem5/+/65691?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: If91c458e60a03f2013c0dc42bab0b1673e3dbd84
Gerrit-Change-Number: 65691
Gerrit-PatchSet: 1
Gerrit-Owner: Matthew Poremba 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org


[gem5-dev] Build failed in Jenkins: nightly #423

2022-11-17 Thread jenkins-no-reply--- via gem5-dev
See 

Changes:


--
[...truncated 316.63 KB...]
Starting Test Suite: realview-minor-ALL-x86_64-opt 
Starting Test Case: realview-minor-ALL-x86_64-opt
Starting Test Suite: realview-switcheroo-o3-ALL-x86_64-opt 
Starting Test Case: realview-switcheroo-o3-ALL-x86_64-opt
Starting Test Suite: realview64-o3-dual-ALL-x86_64-opt 
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outu272jxg3 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview64-minor-dual.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Case: realview64-o3-dual-ALL-x86_64-opt
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outeyca7d79 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-switcheroo-timing.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outk7tg9j1p -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-simple-timing.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5out8o6brnd8 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview64-o3.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview64-minor-dual-ALL-x86_64-opt 
Starting Test Case: realview64-minor-dual-ALL-x86_64-opt
Starting Test Suite: realview-switcheroo-timing-ALL-x86_64-opt 
Starting Test Case: realview-switcheroo-timing-ALL-x86_64-opt
Starting Test Suite: realview-simple-timing-ALL-x86_64-opt 
Starting Test Case: realview-simple-timing-ALL-x86_64-opt
Starting Test Suite: realview64-o3-ALL-x86_64-opt 
Starting Test Case: realview64-o3-ALL-x86_64-opt
Test: realview-switcheroo-timing-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outvb0qz18a -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-o3.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-o3-ALL-x86_64-opt 
Starting Test Case: realview-o3-ALL-x86_64-opt
Test: realview-simple-atomic-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outk41ddiii -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-simple-atomic-checkpoint.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-simple-atomic-checkpoint-ALL-x86_64-opt 
Starting Test Case: realview-simple-atomic-checkpoint-ALL-x86_64-opt
Test: realview-simple-timing-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5out5b9ka_71 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview-switcheroo-atomic.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview-switcheroo-atomic-ALL-x86_64-opt 
Starting Test Case: realview-switcheroo-atomic-ALL-x86_64-opt
Test: realview64-minor-dual-ALL-x86_64-opt Passed
Test: realview64-minor-dual-ALL-x86_64-opt-MatchFileRegex Passed
Starting Test Case: realview64-minor-dual-ALL-x86_64-opt-MatchFileRegex
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outfg1pufc3 -re --silent-redirect 
/nobackup/jenkins/workspace/nightly/tests/gem5/fs/linux/arm/run.py 
/nobackup/jenkins/workspace/nightly/tests/gem5/configs/realview64-switcheroo-o3.py
 /nobackup/jenkins/workspace/nightly/tests/gem5/resources/arm 
/nobackup/jenkins/workspace/nightly
Starting Test Suite: realview64-switcheroo-o3-ALL-x86_64-opt 
Starting Test Case: realview64-switcheroo-o3-ALL-x86_64-opt
Test: realview-switcheroo-atomic-ALL-x86_64-opt Passed
Logging call to command: /nobackup/jenkins/workspace/nightly/build/ALL/gem5.opt 
-d /tmp/gem5outps_ogbfs -re --silent-redirect