--
You received this message because you are subscribed to the Google Groups "Chipyard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chipyard+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chipyard/fbd6f85f-68d4-4a40-92d3-d866bbe6f9afn%40googlegroups.com.
If you're running just a single workload, then the initial flush isn't necessary. However, when running Gemmini workloads on FireSim, we would often run multiple binaries one-after-another on the same simulation. The OS assigns each binary its own process ID and its own virtual memory space.If you've already run one binary on Gemmini, then the TLB will now be full of entries which no longer map to valid addresses. When you run the next binary, the TLB therefore returns physical addresses for the last process instead of the current process (which invariably leads to segfaults). Flushing at the beginning of the process avoids this possibility.A better solution would probably have been to just check the pid of each memory request and flush the TLB silently if the pid changes. I don't remember why we didn't do that to be honest. Adding an explicit flush instruction was probably just easier to implement at the time.
Hope that helps,Hasan--On Fri, Jul 19, 2024 at 3:26 PM Nathan Kaplan <nska...@gmail.com> wrote:Hello,
I noticed that gemmini's spike simulation doesn't perform any operations when the flush command is issued. I was wondering what the purpose of the flush command is.
Is it just for consistent benchmarking results? Or could there be a situation where Gemmini's local TLB loses coherence with main memory's page table and the TLB should be flushed? Or is there another purpose that I'm not thinking about?Would appreciate any help. Thanks--
You received this message because you are subscribed to the Google Groups "Chipyard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chipyard+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chipyard/fbd6f85f-68d4-4a40-92d3-d866bbe6f9afn%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "Chipyard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chipyard+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chipyard/CAMPrpMDU3wsJ9nWCtwHuKG9pa9-7Vpg7Yp%2BHUzs2AO2qoLc70Q%40mail.gmail.com.