Hi Jason,

Thanks for your reply! It's great to hear from you.
I was running SE mode with x86 ISA and classic caches, using the following 
configuration.

build/X86/gem5.opt configs/example/se.py \
  --caches --l3cache \
  --cmd=test_progs/arm_lock/arm_lock \
  --num-cpus=4 --cpu-type=TimingSimpleCPU --cpu-clock=4GHz

I removed transactional memory part in my arm_lock program, with only thread 
synchronization left. (pasted here: https://paste.ubuntu.com/p/KdqwnmbHG7/) 
However, I still experienced problems from running it. I also have tried to use 
many other types of thread locks (std::mutex, spinlock based on 
compare_and_swap, spinlock based on pure while loop, etc.) but few of them 
worked.

So I am trying to figure out the following problems:

1. Does the synchronization issue in x86+classic combination affect thread 
locks? If yes, how could it happen that Linux can run normally under FS mode in 
company with x86 ISA and classic cache, since many OS scheduling also requires 
synchronization?

2. Is there any other combination of ISA and memory system (e.g. x86+Ruby, 
ARM+classic, etc.) that is capable of multi-threading synchronization?

Best Regards,
Meng
_______________________________________________
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