<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY><FONT face=卜悶 size=2>
<DIV>Hello,John  Bucy,</DIV>
<DIV>    I wonder when the new release of disksim will come out. 
At least, I want to know where to get the disk specification file of some newer 
disk typies whose capacity is more than 10GB. After all, the disk typies 
described by the disk specification file along wiht disksim 3.0 is too 
old.</DIV>
<DIV> </DIV>
<DIV></DIV>
<DIV> </DIV>
<DIV>All  the  best.</DIV>
<DIV> </DIV>
<DIV>        Steve</DIV>
<DIV>        zgy04@126.com</DIV>
<DIV>        2006-08-18</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>=======  2006-08-16  01:40:54  John  Bucy 
 Written:  =======</DIV>
<DIV> </DIV>
<DIV>></DIV>
<DIV>>Not  to  mention  the  fact  that  (IIRC) 
 there  is  some  code  that  casts 
 some</DIV>
<DIV>>of  those  structs  around  in  weird 
 ways  that  may  mysteriously  break  if</DIV>
<DIV>>you  change  it.</DIV>
<DIV>></DIV>
<DIV>></DIV>
<DIV>></DIV>
<DIV>>john</DIV>
<DIV>></DIV>
<DIV>>On  8/15/06,  Shahrukh  Rohinton  Tarapore   
<shahrukh@cs.virginia.edu >  wrote:</DIV>
<DIV>> >  the  short  answer  is  no,  you 
 shouldn't  change  the  ioreq_event  struct 
 if</DIV>
<DIV>> >  you  can  help  it.    the 
 ioreq_event  struct  does  have  a  member 
 called  buf</DIV>
<DIV>> >  which  you  can  use  you 
 maintain  a  pointer  to  the  "system 
 level"  request</DIV>
<DIV>> >  (which  contains  the  ID  field). 
   If  you  look  at  the</DIV>
<DIV>> >  disksim_request_arrive  function  you'll 
 see  the  system  level  request</DIV>
<DIV>> >  parameter  is  a  pointer  and 
 that  pointer  is  assigned  to  the  buf 
 member  of</DIV>
<DIV>> >  the  ioreq_event.    you  should 
 do  the  samething  in  your 
 implmentation.</DIV>
<DIV>> ></DIV>
<DIV>> >  the  reason  for  not  adding  the 
 ID  field  to  ioreq_event  is  that  the 
 core</DIV>
<DIV>> >  disksim  structs  have  been  sized 
 to  optimize  memory  allocation  during</DIV>
<DIV>> >  simulation  so  increasing  the  size 
 of  this  struct  could  unnecessarily</DIV>
<DIV>> >  slow  down  your  simulation.</DIV>
<DIV>> ></DIV>
<DIV>> >  --  shahrukh</DIV>
<DIV>> ></DIV>
<DIV>> >  haya  shem  tov  wrote:</DIV>
<DIV>> ></DIV>
<DIV>> >   >  shahrukh,</DIV>
<DIV>> >   >  your  reply  was  very 
 helpful.</DIV>
<DIV>> >   >  I  changed  the  Request 
 struct  in  syssim_driver.h  to  include  ID 
 field,</DIV>
<DIV>> >   >  only  this  did  not  seem 
 to  be  enough,  since  in  disksim_interface.c 
 the</DIV>
<DIV>> >   >  Request  struct  is  copied 
 to  a  ioreq_event  struct,  so  I  also 
 added  to</DIV>
<DIV>> >   >  this  struct  the  ID 
 field</DIV>
<DIV>> >   >  (does  it  seem  ok?)</DIV>
<DIV>> >   >  this  however  solved  the 
 problem.</DIV>
<DIV>> >   >  thanks,</DIV>
<DIV>> >   >  haya</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >  */Shahrukh  Rohinton  Tarapore   
<srt3g@cs.virginia.edu >/*  wrote:</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >          Haya,</DIV>
<DIV>> >   >          The 
 syssim_drive  may  not  be  the  best 
 example  for  interfacing  a  system</DIV>
<DIV>> >   >          level 
 simulator  with  disksim  because  syssim_drive 
 only  allows  one</DIV>
<DIV>> >   >          pending</DIV>
<DIV>> >   >          request  at 
 a  time,  so  it  is  not  necessary 
 to  identify  multiple</DIV>
<DIV>> >   >          requests.</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >          There  is 
 a  quick  fix  to  this  however.  The 
 request  structure  that</DIV>
<DIV>> >   >          syssim_drive 
 defines  can  be  altered  to  include  a 
 unique  id</DIV>
<DIV>> >   >          (probably 
 of</DIV>
<DIV>> >   >          type  long 
 int).  Then  each  time  you  call</DIV>
<DIV>> >   >         
 disksim_interface_request_arrive</DIV>
<DIV>> >   >          with  a 
 new  request  structure  just  ensure  an 
 unused  id  is  in  the</DIV>
<DIV>> >   >          structure.</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >          When  disksim 
 reports  completion  of  a  specified  request 
 you  can</DIV>
<DIV>> >   >          check 
 the</DIV>
<DIV>> >   >          unique  id 
 and  know  exactly  which  pending  request 
 has  completed.</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >          Also  realize 
 that  if  you're  going  to  be  putting 
 multiple  pending</DIV>
<DIV>> >   >          requests</DIV>
<DIV>> >   >          into  disksim 
 the  syssim_drive  example  can  not  be 
 used.  You  will</DIV>
<DIV>> >   >          need  to</DIV>
<DIV>> >   >          implement 
 your  own  mechanism  for  handling  multiple 
 requests  (via</DIV>
<DIV>> >   >         
 disksim_interface.c).  Hope  that  helps.</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >          -- 
 shahrukh</DIV>
<DIV>> >   ></DIV>
<DIV>> >   ></DIV>
<DIV>> >   >          On  Wed, 
 9  Aug  2006,  haya  shem  tov  wrote:</DIV>
<DIV>> >   ></DIV>
<DIV>> >   >           >  Dear 
 Disksim  users,</DIV>
<DIV>> >   >           >  I 
 am  new  in  disksim  and  I  am 
 trying  to  integrate  disksim  in  a</DIV>
<DIV>> >   >          larger 
 simulator</DIV>
<DIV>> >   >           >  Using 
 disksim_interface.c.</DIV>
<DIV>> >   >           >  I 
 am  having  some  difficulties  since  I  do 
 not  fully  understand</DIV>
<DIV>> >   >          the 
 API.</DIV>
<DIV>> >   >           >  Does 
 anyone  has  more  documentation  on  disksim 
 interface</DIV>
<DIV>> >   >          functions,  or 
 more  example  programs?  In  detail,  in 
 the  file</DIV>
<DIV>> >   >          syssim_driver.c 
 when  the  function  syssim_report_completion 
 is</DIV>
<DIV>> >   >          called  , 
 how  can  I  know  which  request  was 
 completed?  Is  there  no</DIV>
<DIV>> >   >          ID  filed 
 in  the  Request  structure?</DIV>
<DIV>> >   >           > 
 Best,</DIV>
<DIV>> >   >           >  Haya 
 Shemtov</DIV>
<DIV>> >   >           ></DIV>
<DIV>> >   >           > 
 ---------------------------------</DIV>
<DIV>> >   >           >  Want 
 to  be  your  own  boss?  Learn  how 
 on  Yahoo!  Small  Business.</DIV>
<DIV>> >   ></DIV>
<DIV>> >   ></DIV>
<DIV>> >   > 
 ------------------------------------------------------------------------</DIV>
<DIV>> >   >  Stay  in  the  know.  Pulse 
 on  the  new  Yahoo.com.  Check  it 
 out.</DIV>
<DIV>> >   >   <<A 
href="http://us.rd.yahoo.com/evt=42974/*http://www.yahoo.com/preview">http://us.rd.yahoo.com/evt=42974/*http://www.yahoo.com/preview</A> 
></DIV>
<DIV>> ></DIV>
<DIV>> >  _______________________________________________</DIV>
<DIV>> >  Disksim-users  mailing  list</DIV>
<DIV>> >  Disksim-users@ece.cmu.edu</DIV>
<DIV>> > 
 https://sos.ece.cmu.edu/mailman/listinfo/disksim-users</DIV>
<DIV>> ></DIV>
<DIV>> ></DIV>
<DIV>>_______________________________________________</DIV>
<DIV>>Disksim-users  mailing  list</DIV>
<DIV>>Disksim-users@ece.cmu.edu</DIV>
<DIV>>https://sos.ece.cmu.edu/mailman/listinfo/disksim-users</DIV>
<DIV>></DIV>
<DIV> </DIV>
<DIV>=  =  =  =  =  =  =  =  =  = 
 =  =  =  =  =  =  =  =  = 
 =</DIV>
<DIV></DIV>
<DIV> </DIV>
<DIV>  </DIV></FONT></BODY></HTML>