Hi, Thank you for your response with the patch link. It helped me a lot to understand what's going on and limitations with clflush.
Do you have any idea if clflush alternative for arm isa is implemented in gem5 properly or not. I work on persistent memory and for x86 isa, you need clflush and fence ( which also may not be implemented properly). If I move to arm, clflush and fence should be replaced with similar functionality instruction ( I have no idea about arm isa, sorry can't mention explicit instruction. Most likely DC CVAU and memory barrier in arm isa ). Best Shaikhul On Sun, Jun 18, 2023 at 2:55 PM Ayaz Akram <yazak...@ucdavis.edu> wrote: > Hi Shaikhul, > > I think clflush is not supported in Ruby caches at the moment. For > reference, here is the original patch that added support for clflush > instruction in gem5: > > arch-x86: Adding clflush, clflushopt, clwb instructions (7401) · Gerrit > Code Review (googlesource.com) > <https://gem5-review.googlesource.com/c/public/gem5/+/7401> > > -Ayaz > > On Fri, Jun 16, 2023 at 2:49 PM Khan Shaikhul Hadi via gem5-users < > gem5-users@gem5.org> wrote: > >> Hi, >> When I include "clflush" instruction for out-of-order execution >> simulation in MESITwoLevelCacheHeirarchy, it givis following error: >> >> build/X86/mem/ruby/system/RubyPort.cc:433: fatal: Ruby functional read >>> failed for address 0x1f2b80 >> >> >> Commenting out clflush operations seems to solve the problem. Any idea >> why it could happen? does CLFLUSH properly implemented in Two Level MESI >> protocol ? >> >> I'm not proficient in gem5 debugging, but what I've observed is that this >> fatal error is caused by some read request packet, surprisingly not any >> flush request. Also, If I commented out the fatal error message, system >> gives warning as follows: >> >> build/X86/mem/ruby/system/RubyPort.cc:267: warn: Cache maintenance >>> operations are not supported in Ruby. >> >> >> and completes execution, no crash or other type of error message. I don't >> know what "Cache maintenance operations" means here and is it related to >> the previous error. >> >> I'm pretty confused and can't figure out how to approach. Anyone have any >> suggestions ? I want to understand how clflush operation is simulated in >> gem5 so that I could modify it for my research needs. I have attached my >> configuration script and workload C++ file here. >> _______________________________________________ >> gem5-users mailing list -- gem5-users@gem5.org >> To unsubscribe send an email to gem5-users-le...@gem5.org >> >
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org