|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] disk io request structures
Hi, Following is the structure of an IO request which is inserted in the shared IO ring.
include/xen/interface/io/blkif.h
struct blkif_request { uint8_t operation; /* BLKIF_OP_??? */
uint8_t nr_segments; /* number of segments */ blkif_vdev_t handle; /* only for read/write requests */ uint64_t id; /* private guest value, echoed in resp */
blkif_sector_t sector_number;/* start sector idx on disk (r/w only) */ struct blkif_request_segment { grant_ref_t gref; /* reference to I/O buffer frame */ /* @first_sect: first sector in frame to transfer (inclusive). */
/* @last_sect: last sector in frame to transfer (inclusive). */ uint8_t first_sect, last_sect; } seg[BLKIF_MAX_SEGMENTS_PER_REQUEST]; };
Sorry, if my questions seem obvious or trivial. I am a newbie in xen development. Right now, me and my group are trying to understand the disk io mechanism in XEN. We intend to modify the existing system. We expect better performance after this modification.
So, in the above structure, 1. what is a "segment" referred in the structure. 2. Why is there an array of blkif_request_segment (why not a single instance). What is it's purpose? 3. In the structure blkif_request_segment, are the first_sect and last_sect physical sector numbers
Thanks. Paresh Nakhe
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] disk io request structures,
Paresh Nakhe <=
|
|
|
|
|