Discussion:
Verify Cache configuration
Ahmad Hassan
2014-01-14 09:14:17 UTC
Permalink
Hi All,

Please can you tell me how to verify that the Linux has been booted with
the actual cache configuration passed in gem5? I have run GEM3 with L1, L2
and L3 having following sizes. I added L3 bus myself.

./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache

But when Ubuntu (Lucid) boots up then I don't see any cache configuration
through 'lscpu'

$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010

Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir and
no cache directory.

Also during the system bootup, the Linux shows wrong cache configuration
for both L1 and L2:
:
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"

Thanks.
Ahmad Hassan
2014-01-14 10:27:35 UTC
Permalink
I can see L2, L3 stats in stats.txt but how can I make sure that the LINUX
has the correct cache sizes that I am passing in gem5 command line please?
Is there a way to verify that? Because Linux bootup terminal output only
shows the following incorrect configuration:
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"

Thanks.

Ahmad
Post by Ahmad Hassan
Hi All,
Please can you tell me how to verify that the Linux has been booted with
the actual cache configuration passed in gem5? I have run GEM3 with L1, L2
and L3 having following sizes. I added L3 bus myself.
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache
But when Ubuntu (Lucid) boots up then I don't see any cache configuration
through 'lscpu'
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010
Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir and
no cache directory.
Also during the system bootup, the Linux shows wrong cache configuration
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
Zohreh Naghibi
2014-01-14 11:11:29 UTC
Permalink
Post by Ahmad Hassan
I can see L2, L3 stats in stats.txt but how can I make sure that the LINUX
has the correct cache sizes that I am passing in gem5 command line please?
Is there a way to verify that? Because Linux bootup terminal output only
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
Ahmad
Post by Ahmad Hassan
Hi All,
Please can you tell me how to verify that the Linux has been booted with
the actual cache configuration passed in gem5? I have run GEM3 with L1, L2
and L3 having following sizes. I added L3 bus myself.
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache
But when Ubuntu (Lucid) boots up then I don't see any cache configuration
through 'lscpu'
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010
Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir and
no cache directory.
Also during the system bootup, the Linux shows wrong cache configuration
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Ahmad Hassan
2014-01-14 11:46:42 UTC
Permalink
Also 'cat /proc/cpuinfo' shows the wrong cache size 1024KB where the system
was started as:

./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--l1d_size=32kB --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2cache
--l2_size=256kB --l2_assoc=8 - --cacheline_size=64

Any clues please?

Best,
Post by Ahmad Hassan
Post by Ahmad Hassan
I can see L2, L3 stats in stats.txt but how can I make sure that the
LINUX has the correct cache sizes that I am passing in gem5 command line
please? Is there a way to verify that? Because Linux bootup terminal output
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
Ahmad
Post by Ahmad Hassan
Hi All,
Please can you tell me how to verify that the Linux has been booted with
the actual cache configuration passed in gem5? I have run GEM3 with L1, L2
and L3 having following sizes. I added L3 bus myself.
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache
But when Ubuntu (Lucid) boots up then I don't see any cache
configuration through 'lscpu'
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010
Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir
and no cache directory.
Also during the system bootup, the Linux shows wrong cache configuration
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Hossein Nikoonia
2014-01-15 06:19:45 UTC
Permalink
I guess the one that is shown in cpuinfo is fake... the system is already
configured with the cache you've specified in command line arguments.

Cache experts! Am I right?
Post by Ahmad Hassan
Also 'cat /proc/cpuinfo' shows the wrong cache size 1024KB where the
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--l1d_size=32kB --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2cache
--l2_size=256kB --l2_assoc=8 - --cacheline_size=64
Any clues please?
Best,
Post by Ahmad Hassan
Post by Ahmad Hassan
I can see L2, L3 stats in stats.txt but how can I make sure that the
LINUX has the correct cache sizes that I am passing in gem5 command line
please? Is there a way to verify that? Because Linux bootup terminal output
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
Ahmad
Post by Ahmad Hassan
Hi All,
Please can you tell me how to verify that the Linux has been booted
with the actual cache configuration passed in gem5? I have run GEM3 with
L1, L2 and L3 having following sizes. I added L3 bus myself.
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache
But when Ubuntu (Lucid) boots up then I don't see any cache
configuration through 'lscpu'
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010
Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir
and no cache directory.
Also during the system bootup, the Linux shows wrong cache
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Martin Brown
2014-01-15 12:46:04 UTC
Permalink
Not a cache expert, but I verified this myself a while back.

Take a look at src/mem/cache/tags/base.cc

In the constructor, p->size should be the cache size that you specified.
That verified it for me.
Post by Hossein Nikoonia
I guess the one that is shown in cpuinfo is fake... the system is already
configured with the cache you've specified in command line arguments.
Cache experts! Am I right?
Post by Ahmad Hassan
Also 'cat /proc/cpuinfo' shows the wrong cache size 1024KB where the
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--l1d_size=32kB --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2cache
--l2_size=256kB --l2_assoc=8 - --cacheline_size=64
Any clues please?
Best,
Post by Ahmad Hassan
Post by Ahmad Hassan
I can see L2, L3 stats in stats.txt but how can I make sure that the
LINUX has the correct cache sizes that I am passing in gem5 command line
please? Is there a way to verify that? Because Linux bootup terminal output
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
Ahmad
Post by Ahmad Hassan
Hi All,
Please can you tell me how to verify that the Linux has been booted
with the actual cache configuration passed in gem5? I have run GEM3 with
L1, L2 and L3 having following sizes. I added L3 bus myself.
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache
But when Ubuntu (Lucid) boots up then I don't see any cache
configuration through 'lscpu'
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010
Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir
and no cache directory.
Also during the system bootup, the Linux shows wrong cache
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
--
Martin
Ahmad Hassan
2014-01-15 15:59:03 UTC
Permalink
Thanks Martin. This indeed verified my configuration too.

Kind Regards, Ahmad
Post by Martin Brown
Not a cache expert, but I verified this myself a while back.
Take a look at src/mem/cache/tags/base.cc
In the constructor, p->size should be the cache size that you specified.
That verified it for me.
Post by Hossein Nikoonia
I guess the one that is shown in cpuinfo is fake... the system is already
configured with the cache you've specified in command line arguments.
Cache experts! Am I right?
Post by Ahmad Hassan
Also 'cat /proc/cpuinfo' shows the wrong cache size 1024KB where the
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--l1d_size=32kB --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2cache
--l2_size=256kB --l2_assoc=8 - --cacheline_size=64
Any clues please?
Best,
Post by Ahmad Hassan
Post by Ahmad Hassan
I can see L2, L3 stats in stats.txt but how can I make sure that the
LINUX has the correct cache sizes that I am passing in gem5 command line
please? Is there a way to verify that? Because Linux bootup terminal output
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
Ahmad
Post by Ahmad Hassan
Hi All,
Please can you tell me how to verify that the Linux has been booted
with the actual cache configuration passed in gem5? I have run GEM3 with
L1, L2 and L3 having following sizes. I added L3 bus myself.
./build/X86/gem5.opt configs/example/fs.py
--kernel=x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed --caches
--num-l2caches=1 --num-l3caches=1 --l1d_size=32kB --l1d_assoc=8
--l1i_size=32kB --l1i_assoc=8 --l2cache --l2_size=256kB --l2_assoc=8
--l3_assoc=16 --l3_size=8192kB --cacheline_size=64 --l3cache
But when Ubuntu (Lucid) boots up then I don't see any cache
configuration through 'lscpu'
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: M5 Simulator
CPU family: 15
Model: 37
Stepping: 1
CPU MHz: 2000.010
Moreover, 'ls /sys/devices/system/cpu/cpu0' only shows 'topology' dir
and no cache directory.
Also during the system bootup, the Linux shows wrong cache
"Mount-cache hash table entries: 256
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 1024K (64 bytes/line)"
Thanks.
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
--
Martin
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Loading...