From lucky.wu.han at gmail.com Thu Nov 6 08:56:26 2008 From: lucky.wu.han at gmail.com (lucky.wu.han) Date: Thu, 6 Nov 2008 21:56:26 +0800 Subject: [Disksim-users] why most of requests hadn't executed? Message-ID: <200811062156171569963@gmail.com> Hello all I use disksim to simulate the storage subsystem. The trace is websearch1.spc which had been changed to ascii format. The number of io request is 100000+. But when i run disksim(./disksim disk.parv output ascii WebSearch1.ascii 0), it stop abnormally. The error out is: "Stopping simulation because of saturation: simtime 73.129074,totalreqs 10008" I don't know why. Most of requests hadn't executed. Who can tell me the reason ? thank you for your help! Have a nice day! 2008-11-06 lucky.wu.han -------------- next part -------------- An HTML attachment was scrubbed... URL: From yueyinliang at gmail.com Thu Nov 6 12:10:08 2008 From: yueyinliang at gmail.com (Yinliang Yue) Date: Fri, 7 Nov 2008 01:10:08 +0800 Subject: [Disksim-users] Re: why most of requests hadn't executed? Message-ID: Hi lucky.wu.han, The reason is that the trace used in your testing is too intensive. You should modify the parameter "I/O Trace Time Scale" to 2, 3 or much larger number. Please see the section 3.3 of disksim v4.0 reference manual. ( iosim_block ). Regards! - Yinliang On Fri, Nov 7, 2008 at 1:00 AM, wrote: > Send Disksim-users mailing list submissions to > disksim-users at ece.cmu.edu > > To subscribe or unsubscribe via the World Wide Web, visit > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > or, via email, send a message with subject or body 'help' to > disksim-users-request at ece.cmu.edu > > You can reach the person managing the list at > disksim-users-owner at ece.cmu.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Disksim-users digest..." > > > Today's Topics: > > 1. why most of requests hadn't executed? (lucky.wu.han) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 6 Nov 2008 21:56:26 +0800 > From: "lucky.wu.han" > Subject: [Disksim-users] why most of requests hadn't executed? > To: "disksim-users" > Message-ID: <200811062156171569963 at gmail.com> > Content-Type: text/plain; charset="gb2312" > > Hello all > > I use disksim to simulate the storage subsystem. The trace is > websearch1.spc which had been changed to ascii format. The number of io > request is 100000+. > But when i run disksim(./disksim disk.parv output ascii WebSearch1.ascii > 0), it stop abnormally. The error out is: > "Stopping simulation because of saturation: simtime 73.129074,totalreqs > 10008" > I don't know why. Most of requests hadn't executed. > Who can tell me the reason ? > thank you for your help! > Have a nice day! > > > 2008-11-06 > > > > lucky.wu.han > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > http://sos.ece.cmu.edu/pipermail/disksim-users/attachments/20081106/495d9075/attachment-0001.html > > ------------------------------ > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > > End of Disksim-users Digest, Vol 38, Issue 1 > ******************************************** > -- Best regards! Yinliang YUE HUST, Wuhan, China yueyinliang at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cdirik at umd.edu Thu Nov 6 15:22:36 2008 From: cdirik at umd.edu (Cagdas Dirik) Date: Thu, 6 Nov 2008 15:22:36 -0500 (EST) Subject: [Disksim-users] Re: Disksim-users Digest, Vol 38, Issue 1 Message-ID: <20081106152236.DKD62390@po1.mail.umd.edu> Hi Wu, That is very likely due to your requests piling up on the queue subcomponent (which has a hard limit of 10K requests in queue). How fast your requests are arriving (what is the request interarrival rate in your trace)? And how long do you think it will take your disk to service a request? Cagdas ---- Original message ---- >Date: Thu, 6 Nov 2008 12:00:19 -0500 (EST) >From: disksim-users-request at ece.cmu.edu >Subject: Disksim-users Digest, Vol 38, Issue 1 >To: disksim-users at ece.cmu.edu > >Send Disksim-users mailing list submissions to > disksim-users at ece.cmu.edu > >To subscribe or unsubscribe via the World Wide Web, visit > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users >or, via email, send a message with subject or body 'help' to > disksim-users-request at ece.cmu.edu > >You can reach the person managing the list at > disksim-users-owner at ece.cmu.edu > >When replying, please edit your Subject line so it is more specific >than "Re: Contents of Disksim-users digest..." > > >Today's Topics: > > 1. why most of requests hadn't executed? (lucky.wu.han) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Thu, 6 Nov 2008 21:56:26 +0800 >From: "lucky.wu.han" >Subject: [Disksim-users] why most of requests hadn't executed? >To: "disksim-users" >Message-ID: <200811062156171569963 at gmail.com> >Content-Type: text/plain; charset="gb2312" > >Hello all > >I use disksim to simulate the storage subsystem. The trace is websearch1.spc which had been changed to ascii format. The number of io request is 100000+. >But when i run disksim(./disksim disk.parv output ascii WebSearch1.ascii 0), it stop abnormally. The error out is: > "Stopping simulation because of saturation: simtime 73.129074,totalreqs 10008" >I don't know why. Most of requests hadn't executed. >Who can tell me the reason ? >thank you for your help! >Have a nice day! > > >2008-11-06 > > > >lucky.wu.han >-------------- next part -------------- >An HTML attachment was scrubbed... >URL: http://sos.ece.cmu.edu/pipermail/disksim-users/attachments/20081106/495d9075/attachment-0001.html > >------------------------------ > >_______________________________________________ >Disksim-users mailing list >Disksim-users at ece.cmu.edu >https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > >End of Disksim-users Digest, Vol 38, Issue 1 >******************************************** From ganger at ece.cmu.edu Thu Nov 6 17:43:10 2008 From: ganger at ece.cmu.edu (Greg Ganger) Date: Thu, 6 Nov 2008 17:43:10 -0500 (EST) Subject: [Disksim-users] SSD Add-on for DiskSim (fwd) Message-ID: I know that many would be interested in this, and some may not have seen it. ---------- Forwarded message ---------- From: Ted Wobber Subject: SSD Add-on for DiskSim Hello - You all have at one time or another requested access to the source code for the DiskSim extension that we described in our USENIX ??08 paper ??Design Tradeoffs for SSD Performance??. This extension is now available under a limited non-commercial (click-through) license from the MSR download site: http://research.microsoft.com/research/downloads/default.aspx This download takes the form of a new ??ssdmodel?? source subdirectory for the DiskSim source tree, along with a patch file that should modify the existing DiskSim source files to insert hooks for the new code. A top-level directory is also created for a VisualStudio build of DiskSim if you want it, but the patched environment should compile under Linux and CygWin as well. We haven??t tested it for Macs. We assume that you are starting with the DiskSim 4.0 release of mid-June (6/23/2008). We have only tested the main release, not the one with DIXTrac. Remember that this code simulates an idealized SSD (e.g., one that doesn??t exist in practice) that is parameterized solely by the performance of NAND flash parts. We have been unsuccessful so far in guessing the algorithms used in commercial SSDs well enough to validate our simulation. This code has so far not been tested outside of our lab, so there may be bugs ?? especially in the installation steps. We seek your help in finding such bugs before making a wider announcement (e.g. on the DiskSim distribution list). Please let us know how you fare. Best regards, Ted Wobber and Vijayan Prabhakaran MSR Silicon Valley From ssankaran at gmail.com Sun Nov 9 11:53:53 2008 From: ssankaran at gmail.com (Sankaran Sivathanu) Date: Sun, 9 Nov 2008 11:53:53 -0500 Subject: [Disksim-users] Problem when running disksim in emulation mode Message-ID: <25ffcb8d0811090853s581b5875kf8081cba1d3088cb@mail.gmail.com> Hi, I configured disksim to work in emulation mode using the functions in disksim_interface.c. I have setup disksim in the target side of ISCSI driver. So, as the requests come to the ISCSI target, I send it to disksim through disksim_interface_request_arrive() and then get the simulation time from the disksim. When I run it, it works fine for quite a long time, but when I stress it with continous worklaods(i copied a linux source tree to the emulated disk), the assert stmt in src/disksim_diskctlr.c viz. "ddbg_assert2(tmpioreq != 0, "Cannot find ioreq")" in line number 3327 fails and the simulation stops. I have no clue as to how the tmpioreq is becoming 0 suddenly. It would be great if anyone could tell me the reason/fix for this problem. Thanks, Sankaran. -- Sankaran Sivathanu www.cc.gatech.edu/~sankaran -------------- next part -------------- An HTML attachment was scrubbed... URL: From yueyinliang at gmail.com Sun Nov 9 19:45:01 2008 From: yueyinliang at gmail.com (Yinliang Yue) Date: Mon, 10 Nov 2008 08:45:01 +0800 Subject: [Disksim-users] Re: Problem when running disksim in emulation mode In-Reply-To: <25ffcb8d0811090853s581b5875kf8081cba1d3088cb@mail.gmail.com> References: <25ffcb8d0811090853s581b5875kf8081cba1d3088cb@mail.gmail.com> Message-ID: Hi Sankaran, The real data can't be written onto the emulation disks in disksim. I am not sure whether this is the actual reason. If you copy a linux source code to the emulated disk, I think you should transform then into the trace format which can be accepted by disksim, such as ascii format. -Yinliang On 11/10/08, Sankaran Sivathanu wrote: > > Hi, > > I configured disksim to work in emulation mode using the functions in > disksim_interface.c. I have setup disksim in the target side of ISCSI > driver. So, as the requests come to the ISCSI target, I send it to disksim > through disksim_interface_request_arrive() and then get the simulation time > from the disksim. > > When I run it, it works fine for quite a long time, but when I stress it > with continous worklaods(i copied a linux source tree to the emulated disk), > the assert stmt in src/disksim_diskctlr.c viz. "ddbg_assert2(tmpioreq != 0, > "Cannot find ioreq")" in line number 3327 fails and the simulation stops. I > have no clue as to how the > tmpioreq is becoming 0 suddenly. > > It would be great if anyone could tell me the reason/fix for this problem. > > Thanks, > Sankaran. > > > -- > Sankaran Sivathanu > www.cc.gatech.edu/~sankaran > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > -- Best regards! Yinliang YUE HUST, Wuhan, China yueyinliang at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From ssankaran at gmail.com Sun Nov 9 19:57:28 2008 From: ssankaran at gmail.com (Sankaran Sivathanu) Date: Sun, 9 Nov 2008 19:57:28 -0500 Subject: [Disksim-users] Re: Problem when running disksim in emulation mode In-Reply-To: References: <25ffcb8d0811090853s581b5875kf8081cba1d3088cb@mail.gmail.com> Message-ID: <25ffcb8d0811091657l30e2407bpcf318d11b691bc71@mail.gmail.com> Hi Yinliang, Thanks for your reply. Just to be clear, I am not storing the data onto the emulated disk. I store the data in a ramdisk and use the disksim for inducing the delay alone. Thanks, Sankaran. On Sun, Nov 9, 2008 at 7:45 PM, Yinliang Yue wrote: > > Hi Sankaran, > > The real data can't be written onto the emulation disks in disksim. I am > not sure whether this is the actual reason. > > If you copy a linux source code to the emulated disk, I think you should > transform then into the trace format which can be accepted by disksim, such > as ascii format. > > -Yinliang > > > On 11/10/08, Sankaran Sivathanu wrote: > >> Hi, >> >> I configured disksim to work in emulation mode using the functions in >> disksim_interface.c. I have setup disksim in the target side of ISCSI >> driver. So, as the requests come to the ISCSI target, I send it to disksim >> through disksim_interface_request_arrive() and then get the simulation time >> from the disksim. >> >> When I run it, it works fine for quite a long time, but when I stress it >> with continous worklaods(i copied a linux source tree to the emulated disk), >> the assert stmt in src/disksim_diskctlr.c viz. "ddbg_assert2(tmpioreq != 0, >> "Cannot find ioreq")" in line number 3327 fails and the simulation stops. I >> have no clue as to how the >> tmpioreq is becoming 0 suddenly. >> >> It would be great if anyone could tell me the reason/fix for this problem. >> >> Thanks, >> Sankaran. >> >> >> -- >> Sankaran Sivathanu >> www.cc.gatech.edu/~sankaran >> >> _______________________________________________ >> Disksim-users mailing list >> Disksim-users at ece.cmu.edu >> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users >> >> > > > -- > Best regards! > > Yinliang YUE > HUST, Wuhan, China > yueyinliang at gmail.com -- Sankaran Sivathanu www.cc.gatech.edu/~sankaran -------------- next part -------------- An HTML attachment was scrubbed... URL: From gunusha at gmail.com Mon Nov 10 21:15:49 2008 From: gunusha at gmail.com (vilo gunusha) Date: Tue, 11 Nov 2008 10:15:49 +0800 Subject: [Disksim-users] Which function change LBA to PBA? Message-ID: Hello, all I want to know how disksim change LBA to PBA(cylinder,header,sector)? Which function do this thing? For example, a request is "0.011286 0 34567136 64 1". The LBA is 34567136, which function in disksim change this LBA to 3D PBA(cylinder,header,sector)? I am a freshman in useing disksim. Your help is very important for me. Looking forward to your help! Gunusha vilo -------------- next part -------------- An HTML attachment was scrubbed... URL: From cdirik at umd.edu Tue Nov 11 12:46:49 2008 From: cdirik at umd.edu (Cagdas Dirik) Date: Tue, 11 Nov 2008 12:46:49 -0500 (EST) Subject: [Disksim-users] Re: Disksim-users Digest, Vol 38, Issue 5 Message-ID: <20081111124649.DKG13785@po1.mail.umd.edu> Hi Gunusha, I do not recall where LBA is converted to PBA but you can follow from diskmech.c. If you search for where diskacctime is called, you can track its inputs cylno, surfaceno, blkno, which all together form the PBA. Very likely that LBA is converted into PBA right before diskacctime is called. double diskacctime (disk *currdisk, band *currband, int type, int rw, double reqtime, int cylno, int surfaceno, int blkno, int bcount, int immedaccess) Hope this helps until someone else provides more accurate information. Thanks, Cagdas ---- Original message ---- >Date: Tue, 11 Nov 2008 12:00:47 -0500 (EST) >From: disksim-users-request at ece.cmu.edu >Subject: Disksim-users Digest, Vol 38, Issue 5 >To: disksim-users at ece.cmu.edu > >Send Disksim-users mailing list submissions to > disksim-users at ece.cmu.edu > >To subscribe or unsubscribe via the World Wide Web, visit > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users >or, via email, send a message with subject or body 'help' to > disksim-users-request at ece.cmu.edu > >You can reach the person managing the list at > disksim-users-owner at ece.cmu.edu > >When replying, please edit your Subject line so it is more specific >than "Re: Contents of Disksim-users digest..." > > >Today's Topics: > > 1. Which function change LBA to PBA? (vilo gunusha) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Tue, 11 Nov 2008 10:15:49 +0800 >From: "vilo gunusha" >Subject: [Disksim-users] Which function change LBA to PBA? >To: Disksim-users at ece.cmu.edu >Message-ID: > >Content-Type: text/plain; charset="iso-8859-1" > >Hello, all > > I want to know how disksim change LBA to PBA(cylinder,header,sector)? >Which function do this thing? > > For example, a request is "0.011286 0 34567136 64 1". The LBA is >34567136, which function in disksim change this LBA to 3D >PBA(cylinder,header,sector)? > > I am a freshman in useing disksim. Your help is very important for me. > > Looking forward to your help! > > > >Gunusha vilo >-------------- next part -------------- >An HTML attachment was scrubbed... >URL: http://sos.ece.cmu.edu/pipermail/disksim-users/attachments/20081111/2fa03d4b/attachment-0001.html > >------------------------------ > >_______________________________________________ >Disksim-users mailing list >Disksim-users at ece.cmu.edu >https://sos.ece.cmu.edu/mailman/listinfo/disksim-users > > >End of Disksim-users Digest, Vol 38, Issue 5 >******************************************** From gunusha at gmail.com Wed Nov 12 20:33:07 2008 From: gunusha at gmail.com (vilo gunusha) Date: Thu, 13 Nov 2008 09:33:07 +0800 Subject: [Disksim-users] How disksim4.0 change LBA to PBA ? Message-ID: <200811130933048288037@gmail.com> Hi, I want to know how disksim4.0 change LBA to PBA(cylinder,header,sector)? Which file and function do this thing? For example, a request is "0.011286 0 34567136 64 1". The LBA is 34567136, which function in disksim4.0 change this LBA to 3D PBA(cylinder,header,sector)? Looking forward to your help! 2008-11-13 vilo gunusha Anna University India -------------- next part -------------- An HTML attachment was scrubbed... URL: From eestolan at soe.ucsc.edu Thu Nov 27 03:31:56 2008 From: eestolan at soe.ucsc.edu (Esteban Molina-Estolano) Date: Thu, 27 Nov 2008 00:31:56 -0800 Subject: [Disksim-users] "No rule to make target `memsmodel_mems_param.h'" when compiling DiskSim 4.0 Message-ID: <32627823-B628-41DC-95B5-3EBC9AA93625@soe.ucsc.edu> I'm attempting to compile DiskSim 4.0 with DIXTrac, and I'm getting an error about a missing rule: make[2]: *** No rule to make target `memsmodel_mems_param.h', needed by `modules.h'. Stop. What can I do to get this working? Here's my configuration, briefly: CPU: 4 x 2.6 GHz dual-core AMD Opteron OS: Centos 5 make: GNU Make 3.81 gcc: gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14) The complete make output follows. Thank you! ~ Esteban make -C libddbg make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/libddbg' cc -g -I../libparam -c -o ddbg_assert.o ddbg_assert.c cc -g -I../libparam -c -o ddbg_trace.o ddbg_trace.c ar cru libddbg.a ddbg_assert.o ddbg_trace.o mkdir -p include/libddbg lib cp -p libddbg.h include/libddbg cp -p libddbg.a lib make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/libddbg' make -C libparam make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/libparam' cc -g -I../libddbg/include -Wall -c -o util.o util.c bison -plibparam --defines libparam.y bison -plibparam --defines libparam.y cc -g -I../libddbg/include -Wall -c -o libparam.tab.o libparam.tab.c flex -Plibparam libparam.lex cc -g -I../libddbg/include -Wall -c -o lex.libparam.o lex.libparam.c libparam.tab.c: In function ?libparamparse?: libparam.tab.c:1352: warning: implicit declaration of function ?libparamlex? lex.libparam.c: In function ?libparamlex?: lex.libparam.c:753: warning: label ?find_rule? defined but not used libparam.lex: At top level: lex.libparam.c:1348: warning: ?yyunput? defined but not used ar cru libparam.a util.o libparam.tab.o lex.libparam.o mkdir -p lib include/libparam cp -p libparam.a lib cp -p bitvector.h libparam.h include/libparam make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/libparam' make -C diskmodel make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel' make -C modules gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o mech_g1_seektime.o mech_g1_seektime.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o mech_g1.o mech_g1.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o layout_g1.o layout_g1.c make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/modules' ../../libparam/mod.pl dm disk.modspec indent dm_disk_param.c 2>/dev/null >/dev/null || true ../../libparam/mod.pl dm mech_g1.modspec indent dm_mech_g1_param.c 2>/dev/null >/dev/null || true layout_g1.c: In function ?g1_st_pbn?: layout_g1.c:184: warning: cast from pointer to integer of different size layout_g1.c: In function ?g1_ptol_nosparing?: layout_g1.c:492: warning: cast from pointer to integer of different size ../../libparam/mod.pl dm layout_g1.modspec layout_g1.c: In function ?g1_ptol_sectpertrackspare?: layout_g1.c:531: warning: cast from pointer to integer of different size layout_g1.c: In function ?g1_ptol_sectperrangespare?: layout_g1.c:702: warning: cast from pointer to integer of different size layout_g1.c: In function ?g1_ptol_sectperzonespare?: layout_g1.c:779: warning: cast from pointer to integer of different size gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o sqrt.o sqrt.c layout_g1.c: In function ?g1_ptol_trackspare?: layout_g1.c:851: warning: cast from pointer to integer of different size indent dm_layout_g1_param.c 2>/dev/null >/dev/null || true ../../libparam/mod.pl dm layout_g1_zone.modspec indent dm_layout_g1_zone_param.c 2>/dev/null >/dev/null || true gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o marshal.o marshal.c ../../libparam/mod.pl dm layout_g2.modspec ../../libparam/mod.pl dm layout_g2_zone.modspec indent dm_layout_g2_param.c 2>/dev/null >/dev/null || true indent dm_layout_g2_zone_param.c 2>/dev/null >/dev/null || true gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o layout_g2.o layout_g2.c ../../libparam/mod.pl dm layout_g4.modspec gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o layout_g4.o layout_g4.c indent dm_layout_g4_param.c 2>/dev/null >/dev/null || true make -C modules cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_disk_param.o dm_disk_param.c make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/modules' cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_disk_param.o dm_disk_param.c layout_g2.c: In function ?st_pbn?: layout_g2.c:251: warning: cast from pointer to integer of different size layout_g2.c: At top level: layout_g2.c:480: warning: initialization from incompatible pointer type gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o convert.o convert.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_mech_g1_param.o dm_mech_g1_param.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o layout_g2_load.o layout_g2_load.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_mech_g1_param.o dm_mech_g1_param.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o layout_g4_load.o layout_g4_load.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g1_param.o dm_layout_g1_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g1_zone_param.o dm_layout_g1_zone_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g1_param.o dm_layout_g1_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g1_zone_param.o dm_layout_g1_zone_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g2_param.o dm_layout_g2_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g2_zone_param.o dm_layout_g2_zone_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g4_param.o dm_layout_g4_param.c ../../libparam/make_modules_h.pl dm *.modspec > modules.h cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g2_param.o dm_layout_g2_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g2_zone_param.o dm_layout_g2_zone_param.c cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/include - c -o dm_layout_g4_param.o dm_layout_g4_param.c make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/modules' mkdir -p include/diskmodel/modules cp -p dm.h dm_types.h dm_config.h marshal.h include/diskmodel ../../libparam/make_modules_h.pl dm *.modspec > modules.h cp -p modules/*.h include/diskmodel/modules make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/modules' mkdir -p include/diskmodel/modules cp -p dm.h dm_types.h dm_config.h marshal.h include/diskmodel cp -p modules/*.h include/diskmodel/modules gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o mech_g1_load.o mech_g1_load.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o layout_g1_load.o layout_g1_load.c gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - Wall -Wshadow -Wno-unused -MD -c -o dm_load.o dm_load.c mech_g1_load.c: In function ?dm_mech_g1_seek_init?: mech_g1_load.c:323: warning: format ?%lld? expects type ?long long int?, but argument 3 has type ?dm_time_t? mech_g1_load.c:323: warning: format ?%lld? expects type ?long long int?, but argument 4 has type ?dm_time_t? mech_g1_load.c:323: warning: format ?%lld? expects type ?long long int?, but argument 5 has type ?dm_time_t? make -C modules make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/modules' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/modules' Linking libdiskmodel.a modules/*.o mech_g1_load.o layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o ar cru libdiskmodel.a mech_g1_seektime.o mech_g1.o layout_g1.o sqrt.o marshal.o layout_g2.o layout_g4.o modules/*.o mech_g1_load.o layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o mkdir -p lib cp -p libdiskmodel.a lib make -C tests make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/tests' cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -c -o driver.o driver.c cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o layout_simple layout_simple.c driver.o -L../../ diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/ lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o layout_simple_0t layout_simple_0t.c driver.o - L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../ libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o layout_track layout_track.c driver.o -L../../ diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/ lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o layout_raw layout_raw.c driver.o -L../../diskmodel/ lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o layout_bogon layout_bogon.c driver.o -L../../ diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/ lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o layout_skew layout_skew.c driver.o -L../../ diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/ lib -lddbg cc -g -I../../diskmodel/include -I../../libparam/include -I../../ libddbg/include -o mech_seek mech_seek.c driver.o -L../../diskmodel/ lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib -lddbg rm driver.o make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel/tests' make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/diskmodel' make -C memsmodel make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/memsmodel' make -C modules gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src// src mems_seektest.c -o mems_seektest.o make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/memsmodel/modules' ../../libparam/mod.pl memsmodel mems.modspec make[2]: *** No rule to make target `memsmodel_mems_param.h', needed by `modules.h'. Stop. make[2]: *** Waiting for unfinished jobs.... gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src// src mems_internals.c -o mems_internals.o gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../src// src mems_piecewise_seek.c -o mems_piecewise_seek.o indent memsmodel_mems_param.c || true make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/memsmodel/modules' make[1]: *** [modules/*.o] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- with-dixtrac/memsmodel' make: *** [all] Error 2 From jiyong.shin at gmail.com Sun Nov 30 08:16:08 2008 From: jiyong.shin at gmail.com (Ji-Yong Shin) Date: Sun, 30 Nov 2008 21:16:08 +0800 Subject: [Disksim-users] Question about addtoextraq and using the contents in extraq in the future Message-ID: <70cf1c8b0811300516q71252d67h99b012a861e5ecfc@mail.gmail.com> Hi, I'm currently working on DiskSim, and I found some situations, which seems to be a bug or my misuse of disksim functions: When we call ioqueue_physical_access_done, ioqueue_remove_completed_request and then ioqueue_remove_from_subqueue will be called to remove the iobuf that was holding the ioreq_event that we are trying to remove from the ioqueue. Then the "tmp" iobuf which was removed from ioqueue_remove_from_subqueue will be added to extraq at the end of ioqueue_remove_completed_request. At the same time queue->current which is also pointing to the same position as "tmp" will point to extraq since "tmp" has been added to extraq. Now we want to remove another ioreq_event. We will follow the same procedure as above. When we are selecting the "tmp" iobuf, containing the ioreq_event, at the begining of ioqueue_remove_completed_request, "queue->current" is pointing to extraq (actually the situation might have been same in the procedure above). The following "if ((tmp->state != PENDING) || (ioqueue_request_match(done, tmp) == 0))" should let us find the right tmp from the "queue->list" instead of selecting "queue->current" as tmp. However, if the blkno and the opid of "queue->current," which once was an iobuf and is currently in extraq, are the same as the opid and the blkno of the ioreq_event we are removing, the "tmp" will be set as "queue->current." Then ioqueue_remove_from_subqueue will try to remove the "tmp (or a event in extraq)" and will cause an error because tmp->prev is NULL. When we add an event including ioreq_event or iobuf to extraq, doesn't it means we do not care about the contents of the event any more? Why don't we wipe out the unneccesary data as soon as a event is added to extraq or before reuse? Maybe this situation was caused, because I created ioreq_events in my code in the device level, which may have violated the opid generating rules. To avoid this problem, I have added the code "memset(temp->space, 0, DISKSIM_EVENT_SPACESIZE * sizeof(char));" in the addtoextraq, but cause other ioqueue error. I also tried "(iobuf *) temp)->opid = -1" or (= 0) "(iobuf *) temp)->blkno = -1" or (= 0) which also cause other error in ioqueue. My question is: 1. When event is added to extraq is it completely safe to wipe out all the contents except for the variables connecting each other in the extraq? If not what kind of information should be preserved? 2. Can you please explain some rules that I should observe when using getfromextraq, addtoextraq and ioreq_copy? Thank you :) Ji-Yong Shin -------------- next part -------------- An HTML attachment was scrubbed... URL: From eestolan at soe.ucsc.edu Sun Nov 30 16:28:16 2008 From: eestolan at soe.ucsc.edu (Esteban Molina-Estolano) Date: Sun, 30 Nov 2008 13:28:16 -0800 Subject: [Disksim-users] "No rule to make target `memsmodel_mems_param.h'" when compiling DiskSim 4.0 In-Reply-To: <32627823-B628-41DC-95B5-3EBC9AA93625@soe.ucsc.edu> References: <32627823-B628-41DC-95B5-3EBC9AA93625@soe.ucsc.edu> Message-ID: I've figured it out now: I had make set to use -j4 by default, and using multiple jobs when compiling DiskSim causes all sorts of havoc. (I still can't compile, but for other reasons; if I don't figure it out I'll post with a new subject line.) ~ Esteban On Nov 27, 2008, at 12:31 AM, Esteban Molina-Estolano wrote: > I'm attempting to compile DiskSim 4.0 with DIXTrac, and I'm getting > an error about a missing rule: > > make[2]: *** No rule to make target `memsmodel_mems_param.h', needed > by `modules.h'. Stop. > > What can I do to get this working? > > Here's my configuration, briefly: > > CPU: 4 x 2.6 GHz dual-core AMD Opteron > OS: Centos 5 > make: GNU Make 3.81 > gcc: gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14) > > The complete make output follows. > > Thank you! > > ~ Esteban > > make -C libddbg > make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/libddbg' > cc -g -I../libparam -c -o ddbg_assert.o ddbg_assert.c > cc -g -I../libparam -c -o ddbg_trace.o ddbg_trace.c > ar cru libddbg.a ddbg_assert.o ddbg_trace.o > mkdir -p include/libddbg lib > cp -p libddbg.h include/libddbg > cp -p libddbg.a lib > make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/libddbg' > make -C libparam > make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/libparam' > cc -g -I../libddbg/include -Wall -c -o util.o util.c > bison -plibparam --defines libparam.y > bison -plibparam --defines libparam.y > cc -g -I../libddbg/include -Wall -c -o libparam.tab.o libparam.tab.c > flex -Plibparam libparam.lex > cc -g -I../libddbg/include -Wall -c -o lex.libparam.o lex.libparam.c > libparam.tab.c: In function ?libparamparse?: > libparam.tab.c:1352: warning: implicit declaration of function > ?libparamlex? > lex.libparam.c: In function ?libparamlex?: > lex.libparam.c:753: warning: label ?find_rule? defined but not used > libparam.lex: At top level: > lex.libparam.c:1348: warning: ?yyunput? defined but not used > ar cru libparam.a util.o libparam.tab.o lex.libparam.o > mkdir -p lib include/libparam > cp -p libparam.a lib > cp -p bitvector.h libparam.h include/libparam > make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/libparam' > make -C diskmodel > make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel' > make -C modules > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o mech_g1_seektime.o > mech_g1_seektime.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o mech_g1.o mech_g1.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o layout_g1.o layout_g1.c > make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/modules' > ../../libparam/mod.pl dm disk.modspec > indent dm_disk_param.c 2>/dev/null >/dev/null || true > ../../libparam/mod.pl dm mech_g1.modspec > indent dm_mech_g1_param.c 2>/dev/null >/dev/null || true > layout_g1.c: In function ?g1_st_pbn?: > layout_g1.c:184: warning: cast from pointer to integer of different > size > layout_g1.c: In function ?g1_ptol_nosparing?: > layout_g1.c:492: warning: cast from pointer to integer of different > size > ../../libparam/mod.pl dm layout_g1.modspec > layout_g1.c: In function ?g1_ptol_sectpertrackspare?: > layout_g1.c:531: warning: cast from pointer to integer of different > size > layout_g1.c: In function ?g1_ptol_sectperrangespare?: > layout_g1.c:702: warning: cast from pointer to integer of different > size > layout_g1.c: In function ?g1_ptol_sectperzonespare?: > layout_g1.c:779: warning: cast from pointer to integer of different > size > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o sqrt.o sqrt.c > layout_g1.c: In function ?g1_ptol_trackspare?: > layout_g1.c:851: warning: cast from pointer to integer of different > size > indent dm_layout_g1_param.c 2>/dev/null >/dev/null || true > ../../libparam/mod.pl dm layout_g1_zone.modspec > indent dm_layout_g1_zone_param.c 2>/dev/null >/dev/null || true > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o marshal.o marshal.c > ../../libparam/mod.pl dm layout_g2.modspec > ../../libparam/mod.pl dm layout_g2_zone.modspec > indent dm_layout_g2_param.c 2>/dev/null >/dev/null || true > indent dm_layout_g2_zone_param.c 2>/dev/null >/dev/null || true > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o layout_g2.o layout_g2.c > ../../libparam/mod.pl dm layout_g4.modspec > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o layout_g4.o layout_g4.c > indent dm_layout_g4_param.c 2>/dev/null >/dev/null || true > make -C modules > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_disk_param.o dm_disk_param.c > make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/modules' > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_disk_param.o dm_disk_param.c > layout_g2.c: In function ?st_pbn?: > layout_g2.c:251: warning: cast from pointer to integer of different > size > layout_g2.c: At top level: > layout_g2.c:480: warning: initialization from incompatible pointer > type > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o convert.o convert.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_mech_g1_param.o dm_mech_g1_param.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o layout_g2_load.o > layout_g2_load.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_mech_g1_param.o dm_mech_g1_param.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o layout_g4_load.o > layout_g4_load.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g1_param.o dm_layout_g1_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g1_zone_param.o dm_layout_g1_zone_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g1_param.o dm_layout_g1_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g1_zone_param.o dm_layout_g1_zone_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g2_param.o dm_layout_g2_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g2_zone_param.o dm_layout_g2_zone_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g4_param.o dm_layout_g4_param.c > ../../libparam/make_modules_h.pl dm *.modspec > modules.h > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g2_param.o dm_layout_g2_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g2_zone_param.o dm_layout_g2_zone_param.c > cc -g -D_DM_SOURCE -I../../libddbg/include -I../../libparam/ > include -c -o dm_layout_g4_param.o dm_layout_g4_param.c > make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/modules' > mkdir -p include/diskmodel/modules > cp -p dm.h dm_types.h dm_config.h marshal.h include/diskmodel > ../../libparam/make_modules_h.pl dm *.modspec > modules.h > cp -p modules/*.h include/diskmodel/modules > make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/modules' > mkdir -p include/diskmodel/modules > cp -p dm.h dm_types.h dm_config.h marshal.h include/diskmodel > cp -p modules/*.h include/diskmodel/modules > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o mech_g1_load.o mech_g1_load.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o layout_g1_load.o > layout_g1_load.c > gcc -g -I. -I../libparam/include -I../libddbg/include -D_DM_SOURCE - > Wall -Wshadow -Wno-unused -MD -c -o dm_load.o dm_load.c > mech_g1_load.c: In function ?dm_mech_g1_seek_init?: > mech_g1_load.c:323: warning: format ?%lld? expects type ?long long > int?, but argument 3 has type ?dm_time_t? > mech_g1_load.c:323: warning: format ?%lld? expects type ?long long > int?, but argument 4 has type ?dm_time_t? > mech_g1_load.c:323: warning: format ?%lld? expects type ?long long > int?, but argument 5 has type ?dm_time_t? > make -C modules > make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/modules' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/modules' > Linking libdiskmodel.a modules/*.o mech_g1_load.o layout_g1_load.o > dm_load.o convert.o layout_g2_load.o layout_g4_load.o > ar cru libdiskmodel.a mech_g1_seektime.o mech_g1.o layout_g1.o > sqrt.o marshal.o layout_g2.o layout_g4.o modules/*.o mech_g1_load.o > layout_g1_load.o dm_load.o convert.o layout_g2_load.o layout_g4_load.o > mkdir -p lib > cp -p libdiskmodel.a lib > make -C tests > make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/tests' > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -c -o driver.o driver.c > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o layout_simple layout_simple.c driver.o -L../../ > diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../ > libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o layout_simple_0t layout_simple_0t.c driver.o - > L../../diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam - > L../../libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o layout_track layout_track.c driver.o -L../../ > diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../ > libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o layout_raw layout_raw.c driver.o -L../../ > diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../ > libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o layout_bogon layout_bogon.c driver.o -L../../ > diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../ > libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o layout_skew layout_skew.c driver.o -L../../ > diskmodel/lib -ldiskmodel -L../../libparam/lib -lparam -L../../ > libddbg/lib -lddbg > cc -g -I../../diskmodel/include -I../../libparam/include -I../../ > libddbg/include -o mech_seek mech_seek.c driver.o -L../../diskmodel/ > lib -ldiskmodel -L../../libparam/lib -lparam -L../../libddbg/lib - > lddbg > rm driver.o > make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel/tests' > make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/diskmodel' > make -C memsmodel > make[1]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/memsmodel' > make -C modules > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../ > src//src mems_seektest.c -o mems_seektest.o > make[2]: Entering directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/memsmodel/modules' > ../../libparam/mod.pl memsmodel mems.modspec > make[2]: *** No rule to make target `memsmodel_mems_param.h', needed > by `modules.h'. Stop. > make[2]: *** Waiting for unfinished jobs.... > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../ > src//src mems_internals.c -o mems_internals.o > gcc -Wall -Wno-unused -MD -c -g -DASSERTS -I../src// -I../ -I../ > src//src mems_piecewise_seek.c -o mems_piecewise_seek.o > indent memsmodel_mems_param.c || true > make[2]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/memsmodel/modules' > make[1]: *** [modules/*.o] Error 2 > make[1]: *** Waiting for unfinished jobs.... > make[1]: Leaving directory `/cse/grads/eestolan/disksim/disksim-4.0- > with-dixtrac/memsmodel' > make: *** [all] Error 2 > > _______________________________________________ > Disksim-users mailing list > Disksim-users at ece.cmu.edu > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users