Hi Javier, You can commit https://gem5-review.googlesource.com/#/c/2380/ whenever you want. It has the needed reviews. Simply hit the "submit" button in gerrit.
Cheers, Jason On Tue, Apr 4, 2017 at 11:09 AM Javier Cano Cano <[email protected]> wrote: > Hi Michael, > > Thanks for the remainder, I hope that can be committed as soon as possible. > > I spend a couple of weekends trying to find the solution to > MOESI_CMP_token. But I hadn't luck. > > I wasn't able to test: MESI_Three_level and MOESI_AMD_Base. I don't have > a clue on how to run a simulation with this protocols. If you know this, > please tell me and I will run a couple of experiments. > > Sorry for the bad news, I'm a bit busy right now and don't have too much > time to research this topic. > > Best. > Cano. > > > 2017-04-04 17:29 GMT+02:00 Lebeane, Michael <[email protected]>: > > Hi Cano, > > > > I noticed your patch for this issue is ready to go but not yet committed: > > https://gem5-review.googlesource.com/#/c/2380/ > > > > Just wanted to check up on the status. I recall there were some users > waiting for the fix. > > > > Also you mentioned some follow up patches for other protocols. Had any > luck with those? > > > > Thanks! > > Michael > > > > *From:* gem5-users [mailto:[email protected]] *On Behalf Of *Javier > Cano Cano > *Sent:* Friday, March 10, 2017 10:58 AM > > *To:* gem5 users mailing list <[email protected]> > *Subject:* Re: [gem5-users] Outstanding DMA requests and > MOESI_CMP_directory protocol > > > > Hi Michael, > > Okay, thanks for the opportunity to push some code to gem5's repo. If it's > okay to you, I'm going to push the MOESI patch now and later another fixing > other protocols. I'm doing right now some experiments to reproduce the > problem in the remaining ones. > > Thanks again, > > Cano. > > > > 2017-03-10 17:46 GMT+01:00 Lebeane, Michael <[email protected]>: > > Hi Cano, > > > > No, I haven’t started working on it yet. I guess your further along than > me, so feel free to take over if you wish J > > > > Thanks, > > Michael > > > > *From:* gem5-users [mailto:[email protected]] *On Behalf Of *Javier > Cano Cano > *Sent:* Friday, March 10, 2017 10:17 AM > > > *To:* gem5 users mailing list <[email protected]> > *Subject:* Re: [gem5-users] Outstanding DMA requests and > MOESI_CMP_directory protocol > > > > Hi again Michael, > > Did you push the patch? I'm asking just to avoid push the same patch > because I was working on that too. > > Yes, I found this problem in others protocols. I can't remember the > protocols right now (I wrote them on my lab notebook, but I forgot it). The > Monday I will tell you. > > Cano. > > > > 2017-03-10 16:47 GMT+01:00 Lebeane, Michael <[email protected]>: > > Hi Cano, > > > > No problem, happy to help! > > > > Yeah, cur_state should really be in the TBE to allow multiple in-flight > requests, but that queue overflow panic does not appear to be an easy fix. > I think we should just push out this bug fix for now with a comment about > what we observed when moving cur_state into the TBE. > > > > I can go ahead and make this patch. I also want to check if any of the > other protocols have similar bugs when booting a full system image (unless > you already checked this in your experiments). > > > > Thanks, > > Michael > > > > *From:* gem5-users [mailto:[email protected]] *On Behalf Of *Javier > Cano Cano > *Sent:* Friday, March 10, 2017 4:54 AM > > > *To:* gem5 users mailing list <[email protected]> > *Subject:* Re: [gem5-users] Outstanding DMA requests and > MOESI_CMP_directory protocol > > > > Hi Michael, > > In the original file the cur_state variable isn't part of TBE's stucture, > I thought that should be on it, so I moved into TBE's structure. My bad. > That's the only additional difference, I didn't post that on my previous > email, sorry. > > I tested your last propose and seems to work fine for me to. I made some > experiments and all of them works, so I think that we solved the problem. > Probably we should try to push this changes to gem5's repo. There is at > least one more guy reporting this problem. > > Anyway, thanks a lot for your emails and your time Michael, really helped > me a lot, I hope that this conversation will help to other users as well. > > > > Best. > > Cano. > > > > 2017-03-09 20:38 GMT+01:00 Lebeane, Michael <[email protected]>: > > Hi Cano, > > > > I downloaded the x86 binaries and was able to reproduce the transition > error. Sorry I forgot the wakeups in my original suggestion, but it seems > like you figured out what I was trying to do anyway J. > > > > After implementing the stalls and wakeups exactly as you did, it seems to > work fine for me. > > > > I was able to replicate the overflow problem if I move the cur_state > variable to the TBEs so that the protocol can support more than one > outstanding DMA transaction. There is no backpressure being applied when > you are doing streaming writes from the DMA controller; the directory just > plops them in the packet queue to memory and allows the DMA controller to > send more, which eventually triggers the assertion. However, if I leave > cur_state alone and just fix the transition bug, it appears to work fine. > > > > Do you have any other modifications to the protocol besides what you show > on the previous email? > > > > -Michael > > > > > > *From:* gem5-users [mailto:[email protected]] *On Behalf Of *Javier > Cano Cano > *Sent:* Wednesday, March 8, 2017 4:24 AM > *To:* gem5 users mailing list <[email protected]> > *Subject:* Re: [gem5-users] Outstanding DMA requests and > MOESI_CMP_directory protocol > > > > Hi Michael, > > Thanks a lot for you response, I appreciate it. > > The error is reproducible even with the binaries provided by gem5's wiki: > http://www.m5sim.org/dist/current/x86/x86-system.tar.bz2 > > I tried your propose but I getting this error: > > hda: ide_dma_sff_timer_expiry: DMA status (0x21) > hda: DMA timeout error > hda: dma timeout error: status=0x50 { DriveReady SeekComplete } > hda: possibly failed opcode: 0xc8 > hda: ide_dma_sff_timer_expiry: DMA status (0x21) > hda: DMA timeout error > hda: dma timeout error: status=0x50 { DriveReady SeekComplete } > hda: possibly failed opcode: 0xc8 > > This is because stall_and_wait() function push the messages into > dmaRequestQueue_in but the messages are never pulled out. The simulation > boots up after a huge amount of time, but it doesn't looks to be correct. > > I took a look into another protocol files and I added this lines: > > > action(zz_stallAndWaitRequestQueue, "zz", desc="...") { > stall_and_wait(dmaRequestQueue_in, address); > } > > > > * action(wkad_wakeUpAllDependents, "wkad", desc="wake-up all > dependents") { wakeUpAllBuffers(); }* > > transition(BUSY_RD, Data, READY) { > t_updateTBEData; > d_dataCallbackFromTBE; > w_deallocateTBE; > //u_updateAckCount; > //o_checkForCompletion; > p_popResponseQueue; > *wkad_wakeUpAllDependents;* > } > > transition(BUSY_RD, All_Acks, READY) { > d_dataCallbackFromTBE; > //u_sendExclusiveUnblockToDir; > w_deallocateTBE; > p_popTriggerQueue; > *wkad_wakeUpAllDependents;* > } > > transition(BUSY_WR, All_Acks, READY) { > a_ackCallback; > u_sendExclusiveUnblockToDir; > w_deallocateTBE; > p_popTriggerQueue; > *wkad_wakeUpAllDependents;* > } > > transition({BUSY_RD,BUSY_WR}, {ReadRequest,WriteRequest}) { > zz_stallAndWaitRequestQueue; > } > > With this changes, the msgs are pulled from queues at some point. However, > the queues still overflow and gem5 shows this error: > > > panic: Packet queue system.ruby.dir_cntrl0.memory- has grown beyond 100 > packets > Memory Usage: 1287832 KBytes > Program aborted at tick 5224739073500 > > I'm missing something, maybe a transition where the should be awaken as > well, but I can't figure it out. > Any suggestions? > > > > Thanks. > > Cano. > > > > > > 2017-03-02 23:08 GMT+01:00 Lebeane, Michael <[email protected]>: > > Hi Cano, > > > > I can’t test this as I don’t have your binaries to reproduce the problem, > but do adding these lines in MOESI_CMP_directory-dma.sm fix your problem? > > > > action(zz_stallAndWaitRequestQueue, "zz", desc="...") { > > stall_and_wait(dmaRequestQueue_in, address); > > } > > > > transition({BUSY_RD,BUSY_WR}, {ReadRequest,WriteRequest}) { > > zz_stallAndWaitRequestQueue; > > } > > > > Thanks, > > Michael > > > > *From:* gem5-users [mailto:[email protected]] *On Behalf Of *Javier > Cano Cano > *Sent:* Wednesday, March 1, 2017 10:23 AM > *To:* [email protected] > *Subject:* [gem5-users] Outstanding DMA requests and MOESI_CMP_directory > protocol > > > > Hi everybody, > > Some days ago, I updated my gem5 version in order to test Garnet2.0. But I > found that MOESI_CMP_directory protocol wasn't working. As far as I know, > the problem comes from the patch > http://repo.gem5.org/gem5?cmd=changeset;node=0bf388858d1e This patch > allows outstanding DMA requests. Some protocols had been updated to support > this new feature but MOESI_CMP_directory, as well as others, doesn't. > > I'm using the following command to build Gem5: > > scons ./build/X86/gem5.opt PROTOCOL=MOESI_CMP_directory RUBY=True -j30 > > To run the simulation, the following instructions had been used: > > ./build/X86/gem5.opt configs/example/fs.py --ruby > --kernel=/home/cano/gem5/system/binaries/x86_64-vmlinux-3.4.112.smp > --disk-image=/home/cano/curgem5/canolab/system/disks/gentoo.img > > > > The error that gem5 shows when I try to run a simulation is: > > panic: Invalid transition > system.ruby.dma_cntrl0 time: 9702290051 <%28970%29%20229-0051> addr: > 504500288 event: WriteRequest state: BUSY_WR > @ tick 4851145025500 > > [doTransitionWorker:build/X86/mem/protocol/DMA_Transitions.cc, line 135] > > > The problem has something to do with file MOESI_CMP_directory-dma.sm which > doesn't support the state changes introduced on patch 0bf388858d1e. > > > Did someone have this problem? > > I tried to update the protocol, but no luck, I get a error saying that the > queues have more than 100 messages stored on it. > > > Does anyone have the MOESI_CMP_directory files modified to support this > new feature? > > > > In order to temporally fix the problem, I rolled back the changes > introduced on the mentioned patch. > > Thanks for your time. > > Cano. > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
