Hi Everyone, We have a handful of patches on review board that add support for forking gem5 at runtime. These patches can be used for cool things such as running a KVM CPU in one process and forking off detailed simulations that run in parallel with the KVM CPU (see for example pFSA[6]). The patches have been on review board for more than a month now and I intend to push them sometime next week unless I someone tells me otherwise.
In terms of infrastructure changes, there are two things that need to change. First, we need to add support for changing the m5out directory at runtime. If we don¹t do this, all of the forks will end up overwriting each other¹s output. [1] base: Add support for changing output directories When forking, we sometimes need to notify objects that we are have done something potentially dangerous. To do that, we add the notifyFork() method to drainable: [2] sim: Add support for notifying Drainable objects of a fork Forking is potentially dangerous for disk images (multiple guests could end up writing to the same image) and KVM (forking a VM is probably a bad idea). We therefore need to add checks and fix-ups for those objects: [3] dev: Add post-fork handling for disk images [4] kvm: Shutdown KVM and disconnect performance counters on fork Finally, we need the infrastructure support to fork in gem5¹s standard library: [5] sim: Add support for forking Let me know if you need more time to look at this. Thanks, Andreas [1] http://reviews.gem5.org/r/3276/ [2] http://reviews.gem5.org/r/3277/ [3] http://reviews.gem5.org/r/3278/ [4] http://reviews.gem5.org/r/3280/ [5] http://reviews.gem5.org/r/3279/ [6] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7314164 IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
