Hi guys,

I was playing with gem5 (full system simulation) and found one
interesting feature.
If you make some changes to the disk image (using mount command on the
host) and restore your simulation using previously saved checkpoint
you may not find your changes in the simulated filesystem.
The main reason for this is the fact that OS has its own cache for the
filesystem which is stored in the main memory.
You need to manually drop this cache to force simulated OS to read
data from the disk image.

This can be done the following way:
# sync
# echo 3 > /proc/sys/vm/drop_caches

Here is example:
$ ./build/ARM/gem5.opt configs/example/fs.py
--disk-image=arm-ubuntu-natty-headless.img -r 1
$ telnet 127.0.0.1 3456
# cd /

# ls
bin   dev  home  lost+found  mnt  proc  sbin     srv  tmp  var
boot etc   lib       media        opt   root  selinux sys  usr

# sync
# echo 3 > /proc/sys/vm/drop_caches

# ls
benchmarks  boot  etc      lib             media  opt    root  selinux
 sys  tmp  var
bin               dev   home  lost+found  mnt     proc  sbin  srv         usr

You may see that the benchmarks folder appeared.

I took me some time to understand what's happening.
I didn't find this solution somewhere on the website and want to share
it with the community.

Have a nice day
Oleg
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to