[Disksim-users] Getting FlashSim to work with DiskSim3.0

Jonathan Tjioe jontjioe at gmail.com
Sat Dec 11 00:02:25 EST 2010


All,

If any of you use FlashSim, I made a guide and also updated the src files so
you need very little modification. If you already have DiskSim 3.0 working,
with the attached files, you get get FlashSim working in minutes.

Hope this is helpful for you.
Jonathan

On Sun, Dec 5, 2010 at 9:42 PM, Jonathan Tjioe <jontjioe at gmail.com> wrote:

> I got it working! I'll write up the instructions for what I had to do and
> send it out later this week.
>
> Thanks!
> Jonathan
>
>
> On Sun, Dec 5, 2010 at 10:26 AM, Jonathan Tjioe <jontjioe at gmail.com>wrote:
>
>> All,
>>
>> Here is an update with the exact error message I get. So after I have
>> DiskSim 3.0 working, I backed up the DiskSim src directory:
>> cd ~/disksim/disksim-3.0
>> mv src src_orig
>>
>> I then put src.release (from FlashSim) to src (in DiskSim directory):
>> cp -pR /tmp/src.release ~/disksim/disksim-3.0/src
>>
>> I updated my .paths and .paths.in accordingly inside
>> ~/disksim/disksim-3.0/src:
>> #update the LIBPARAM_PREFIX and LIBDDBG_PREFIX in the .paths.in file to
>> have path of disksim directory
>> export LIBPARAM_PREFIX=/home/jontjioe/disksim/disksim-3.0/libparam
>> export LIBDDBG_PREFIX=/home/jontjioe/disksim/disksim-3.0/libddbg
>> export DISKMODEL_PREFIX=/home/jontjioe/disksim/disksim-3.0/diskmodel
>>
>> cp .paths.in .paths
>>
>> And then, I run the patch which updates dftl.c, disksim_logorg.c, fast.c,
>> flash.c, pagemap.c, and syssim_driver.c:
>>  cd ~/disksim/disksim-3.0/src
>> patch -p1 -i flashsim-20100324.patch
>>
>> I then attempted to compile the src directory:
>> cd ~/disksim/disksim-3.0/src
>> make
>>
>>  This is the error I get:
>> <<
>> jontjioe at ubuntu:~/disksim/disksim-3.0/src$ make
>> make -C modules
>> make[1]: Entering directory
>> `/home/jontjioe/disksim/disksim-3.0/src/modules'
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim bus.modspec
>> indent disksim_bus_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim ctlr.modspec
>> indent disksim_ctlr_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> iodriver.modspec
>> indent disksim_iodriver_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> ioqueue.modspec
>> indent disksim_ioqueue_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim disk.modspec
>> indent disksim_disk_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> simpledisk.modspec
>> indent disksim_simpledisk_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> simpleflash.modspec
>> indent disksim_simpleflash_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> device_stats.modspec
>> indent disksim_device_stats_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> bus_stats.modspec
>> indent disksim_bus_stats_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> ctlr_stats.modspec
>> indent disksim_ctlr_stats_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> iodriver_stats.modspec
>> indent disksim_iodriver_stats_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> pf_stats.modspec
>> indent disksim_pf_stats_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim global.modspec
>>
>> indent disksim_global_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim stats.modspec
>> indent disksim_stats_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> syncset.modspec
>> indent disksim_syncset_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> synthgen.modspec
>> indent disksim_synthgen_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> synthio.modspec
>> indent disksim_synthio_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim logorg.modspec
>>
>> indent disksim_logorg_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim pf.modspec
>> indent disksim_pf_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> cachemem.modspec
>> indent disksim_cachemem_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim
>> cachedev.modspec
>> indent disksim_cachedev_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim device.modspec
>>
>> indent disksim_device_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim iosim.modspec
>> indent disksim_iosim_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/mod.pl disksim iomap.modspec
>> indent disksim_iomap_param.c || true
>> /bin/sh: indent: not found
>> /home/jontjioe/disksim/disksim-3.0/libparam/make_modules_h.pl disksim
>> *.modspec > modules.h
>> make[1]: Leaving directory
>> `/home/jontjioe/disksim/disksim-3.0/src/modules'
>> gcc -Wall -Wno-unused -MD
>> -I/home/jontjioe/disksim/disksim-3.0/diskmodel/include
>> -I/home/jontjioe/disksim/disksim-3.0/libparam/include
>> -I/home/jontjioe/disksim/disksim-3.0/libddbg/include -g -DASSERTS
>> -D_INLINE -DFSIM_DEBUG -g   -c -o disksim_main.o disksim_main.c
>> In file included from disksim_global.h:107,
>>                  from disksim_main.c:58:
>> inline.h:41:8: warning: extra tokens at end of #endif directive
>> inline.h:43:8: warning: extra tokens at end of #endif directive
>> In file included from fast.h:11,
>>                  from ssd_interface.h:14,
>>                  from disksim_main.c:60:
>> type.h:8:1: warning: "ASSERT" redefined
>> In file included from disksim_global.h:141,
>>                  from disksim_main.c:58:
>> disksim_assertlib.h:116:1: warning: this is the location of the previous
>> definition
>> disksim_main.c: In function `warmFlashsynth':
>> disksim_main.c:70: warning: implicit declaration of function
>> `opagemap_reset'
>> disksim_main.c: In function `warmFlash':
>> disksim_main.c:91: warning: int format, long int arg (arg 5)
>> gcc -Wall -Wno-unused -MD -c
>> -I/home/jontjioe/disksim/disksim-3.0/diskmodel/include
>> -I/home/jontjioe/disksim/disksim-3.0/libparam/include
>> -I/home/jontjioe/disksim/disksim-3.0/libddbg/include -g -DASSERTS
>> -D_INLINE -DFSIM_DEBUG -g disksim.c -o disksim.o
>> In file included from disksim_global.h:107,
>>                  from disksim.c:101:
>> inline.h:41:8: warning: extra tokens at end of #endif directive
>> inline.h:43:8: warning: extra tokens at end of #endif directive
>> In file included from config.h:36,
>>                  from disksim.c:105:
>> /home/jontjioe/disksim/disksim-3.0/libddbg/include/libddbg/libddbg.h:106:7:
>> warning: extra tokens at end of #else directive
>> In file included from fast.h:11,
>>                  from ssd_interface.h:14,
>>                  from disksim.c:120:
>> type.h:8:1: warning: "ASSERT" redefined
>> In file included from disksim_global.h:141,
>>                  from disksim.c:101:
>> disksim_assertlib.h:116:1: warning: this is the location of the previous
>> definition
>> In file included from disksim.c:493:
>> modules/disksim_global_param.c:106:23: missing terminating " character
>> modules/disksim_global_param.c:107:1: missing terminating " character
>> In file included from disksim.c:493:
>> modules/disksim_global_param.c: In function `disksim_global_loadparams':
>> modules/disksim_global_param.c:108: error: syntax error before "return"
>> modules/disksim_global_param.c:113:1: warning: no newline at end of file
>> disksim.c: In function `disksim_setup_disksim':
>> disksim.c:942: warning: implicit declaration of function
>> `iosim_initialize_iosim_info'
>> make: *** [disksim.o] Error 1
>> >>
>>
>> Thanks in advance for your help,
>>  Jonathan
>>
>>
>> On Sat, Dec 4, 2010 at 11:45 AM, Jonathan Tjioe <jontjioe at gmail.com>wrote:
>>
>>> All,
>>>
>>> I am trying to use FlashSim in conjunction with DiskSim3.0. High-level
>>> procedures to set this up are described here:
>>>
>>> http://csl.cse.psu.edu/?q=node/322
>>>
>>> This will provide me with an environment to simulate DFTL, Page Mapping
>>> FTL, and FAST.
>>>
>>> The first step is to get DiskSim3.0 installed and working. I was able to
>>> get DiskSim3.0 installed, configured, and compiled successfully using the
>>> procedures that are posted here:
>>>
>>> http://www.pdl.cmu.edu/DiskSim/Compiling_DiskSim3.0_v1.0.pdf
>>>
>>> However, I was not sure how to complete the remaining steps on
>>> http://csl.cse.psu.edu/?q=node/322 to get FlashSim working correctly.
>>> The instructions say to extract src.release.tar.gz which I did. But am I
>>> supposed to get rid of my existing (and correctly functioning)
>>> ~/disksim-3.0/src directory and replace it with the src.release directory? I
>>> wasn't sure if I should get rid of it or copy over it with the new
>>> src.release contents.
>>>
>>> Also, after that is resolved, what is the proper command I should use to
>>> correctly "make" the files?
>>>
>>> Any help is greatly appreciated.
>>>
>>> Thanks.
>>> Jonathan
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/disksim-users/attachments/20101210/b6e00302/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Compiling_FlashSim_v1.0.doc
Type: application/msword
Size: 120314 bytes
Desc: not available
URL: <http://lists.andrew.cmu.edu/pipermail/disksim-users/attachments/20101210/b6e00302/attachment.doc>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: src.release.20101205.tar.gz
Type: application/x-gzip
Size: 651570 bytes
Desc: not available
URL: <http://lists.andrew.cmu.edu/pipermail/disksim-users/attachments/20101210/b6e00302/attachment.bin>


More information about the Disksim-users mailing list