tests,mem-ruby: Enhance ruby false sharing test with Atomics

New ruby mem test includes a percentages of AMOs that will be executed randomly in ruby mem test

Change-Id: Ie95ed78e59ea773ce6b59060eaece3701fe4478c
This commit is contained in:
Víctor Soria
2023-07-24 16:20:10 +02:00
parent 6f5d877b1a
commit 4fd9d66c53
5 changed files with 81 additions and 14 deletions

View File

@@ -62,6 +62,12 @@ parser.add_argument(
default=0,
help="percentage of accesses that should be functional",
)
parser.add_argument(
"--atomic",
type=int,
default=30,
help="percentage of accesses that should be atomic",
)
parser.add_argument(
"--suppress-func-errors",
action="store_true",
@@ -105,6 +111,7 @@ cpus = [
max_loads=args.maxloads,
percent_functional=args.functional,
percent_uncacheable=0,
percent_atomic=args.atomic,
progress_interval=args.progress,
suppress_func_errors=args.suppress_func_errors,
)
@@ -133,7 +140,7 @@ else:
dmas = []
dma_ports = []
for (i, dma) in enumerate(dmas):
for i, dma in enumerate(dmas):
dma_ports.append(dma.test)
Ruby.create_system(args, False, system, dma_ports=dma_ports)
@@ -155,7 +162,7 @@ system.ruby.randomization = True
assert len(cpus) == len(system.ruby._cpu_ports)
for (i, cpu) in enumerate(cpus):
for i, cpu in enumerate(cpus):
#
# Tie the cpu memtester ports to the correct system ports
#