<!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>