mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-27 12:04:27 +01:00
gem5: fix vs qemu description formating
This commit is contained in:
@@ -4768,16 +4768,22 @@ Like QEMU, gem5 also has a syscall emulation mode (SE), but in this tutorial we
|
|||||||
|
|
||||||
* advantages of gem5:
|
* advantages of gem5:
|
||||||
** simulates a generic more realistic pipelined and optionally out of order CPU cycle by cycle, including a realistic DRAM memory access model with latencies, caches and page table manipulations. This allows us to:
|
** simulates a generic more realistic pipelined and optionally out of order CPU cycle by cycle, including a realistic DRAM memory access model with latencies, caches and page table manipulations. This allows us to:
|
||||||
|
+
|
||||||
|
--
|
||||||
*** do much more realistic performance benchmarking with it, which makes absolutely no sense in QEMU, which is purely functional
|
*** do much more realistic performance benchmarking with it, which makes absolutely no sense in QEMU, which is purely functional
|
||||||
*** make certain functional observations that are not possible in QEMU, e.g.:
|
*** make certain functional observations that are not possible in QEMU, e.g.:
|
||||||
**** use Linux kernel APIs that flush cache memory like DMA, which are crucial for driver development. In QEMU, the driver would still work even if we forget to flush caches.
|
**** use Linux kernel APIs that flush cache memory like DMA, which are crucial for driver development. In QEMU, the driver would still work even if we forget to flush caches.
|
||||||
**** spectre / meltdown:
|
**** spectre / meltdown:
|
||||||
***** https://www.mail-archive.com/gem5-users@gem5.org/msg15319.html
|
***** https://www.mail-archive.com/gem5-users@gem5.org/msg15319.html
|
||||||
***** https://github.com/jlpresearch/gem5/tree/spectre-test
|
***** https://github.com/jlpresearch/gem5/tree/spectre-test
|
||||||
|
--
|
||||||
+
|
+
|
||||||
It is not of course truly cycle accurate, as that
|
It is not of course truly cycle accurate, as that:
|
||||||
|
+
|
||||||
|
--
|
||||||
** would require exposing proprietary information of the CPU designs: link:https://stackoverflow.com/questions/17454955/can-you-check-performance-of-a-program-running-with-qemu-simulator/33580850#33580850[]
|
** would require exposing proprietary information of the CPU designs: link:https://stackoverflow.com/questions/17454955/can-you-check-performance-of-a-program-running-with-qemu-simulator/33580850#33580850[]
|
||||||
** would make the simulation even slower TODO confirm, by how much
|
** would make the simulation even slower TODO confirm, by how much
|
||||||
|
--
|
||||||
+
|
+
|
||||||
but the approximation is reasonable.
|
but the approximation is reasonable.
|
||||||
+
|
+
|
||||||
|
|||||||
Reference in New Issue
Block a user