Hi Brian,

A few quick thoughts:
1. x86 + classic cache + multicore is not supported. There is a changeset
on gerrit (https://gem5-review.googlesource.com/c/public/gem5/+/52303)
which may fix this, but it has not been tested widely.
2. SE mode + pthreads will likely not work in all circumstances. The system
calls required for pthreads are complex and we may not have implemented
them to perfectly match their behavior on Linux
3. Which leads to this: If you want to investigate multicore performance, I
would strongly suggest using full system mode. With gem5-resources (
https://resources.gem5.org/) it should be straightforward to set up. See
also the new gem5 standard library coming in gem5-21.2 (released next week)
as well.

Cheers,
Jason

On Wed, Dec 15, 2021 at 7:28 PM Brian Schwedock via gem5-users <
gem5-users@gem5.org> wrote:

> Hi,
>
> I'm trying to run a simple multithreaded C++ application in SE mode, but I
> seem to be getting deadlock when running with DerivO3CPU. TimingSimpleCPU
> does not deadlock. I'm running on the develop branch without modification.
>
> Here is the configuration I'm running:
> ./build/X86/gem5.opt configs/example/se.py
> --cmd=/path/to/app --num-cpus=16 --cpu-type=DerivO3CPU --caches --l2cache 
> --l1d_size=64kB --l1i_size=16kB --l2_size=4MB --mem-type=DDR3_1600_8x8
>
> My application spawns 16 pthreads, and the threads perform atomic
> arithmetic operations and use pthread barriers. From what I can tell, the
> issue is that on one of the barriers only one or two threads are ever woken
> up once all threads are ready.
>
> When running with the above configuration, the simulation just hangs. When
> I run with ruby caches, the simulation eventually terminates from the
> Sequencer panicking on "Possible Deadlock detected."
>
> Are pthread barriers not currently supported? I tried using m5threads, but
> as per this issue (https://github.com/gem5/m5threads/issues/2), I can't
> compile it with my gcc and kernel versions.
>
> I would greatly appreciate any help with this issue.
>
> Thanks,
> Brian
> _______________________________________________
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to