[Disksim-users] A bug about "iosim Block"

Ajay Gulati gulati at rice.edu
Wed Aug 8 16:24:42 EDT 2007


Hi Lanyue,
Not sure if you already looked at this. The following function in
disksim_iosim.c should read the parameter.

try printing in this function after the "#include ...." line to see if
correct value is loaded.


    424 static int iosim_load_map(struct lp_block *b, int n) {
    425   int c;
    426   int i = 0;
    427   char *s = 0;
    428
    429
    430 #include "modules/disksim_iomap_param.c"
    431
    432
Most of the setting of parameters is done via code in modules
sub-directory and may not be visible in src/ by using "grep". So I
would suggest giving it a try.
You can look at modules/disksim_iomap_param.c to see if the parameter
is loaded correctly.

-Ajay

On 8/8/07, ll2 at rice.edu <ll2 at rice.edu> wrote:
>
> Hello everyone :
>
> DiskSim has a "iosim Block" in .parv file to support I/O trace time scale and
> I/O mappings, et.
>
> Users can set "I/O trace time scale" value in "iosim block" to replay the trace
> in different speed, resulting different request rate. However, I found that the
> value I set is not used by DiskSim. Then I dig into the source code.
>
> I found in disksim_iosim.c :
>
> void iosim_initialize_iosim_info ()
> {
>    disksim->iosim_info = DISKSIM_malloc (sizeof(iosim_info_t));
>    bzero ((char *)disksim->iosim_info, sizeof(iosim_info_t));
>
>    /* initializations that get remapped into iosim_info */
>    ioscale = 1.0;    /**************LOOK HERE************/
>    last_request_arrive = 0.0;
>    constintarrtime = 0.0;
> }
>
>
> It means that "ioscale" is set to 1.0 by DiskSim, resulting the same speed as
> the original trace, ignoring the value set by user in .parv file. And this value
> is not changed in other places. I tried to change the value of "ioscale" in the
> source code, then it works. For example, ioscale = 2, will make the arrival
> time two times.
>
> I found DiskSim did not read the parameter file to fill this "ioscale". So, no
> matter what you set for I/O trace time scale, it just use the "1.0"  in the
> runtime.
>
> Does anyone else find this problem? I appreciate your suggestion and comments .
>
> Regards,
>
> Lanyue Lu
>
>
>
>
> _______________________________________________
> Disksim-users mailing list
> Disksim-users at ece.cmu.edu
> https://sos.ece.cmu.edu/mailman/listinfo/disksim-users
>



More information about the Disksim-users mailing list