Kaushik Bhandankar
2007-Nov-15 07:54 UTC
[Xen-devel] doubt: Block IO multiple ring protocol
Hello, Looking at linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c, I had following doubts (also looked at the following changeset which introduces multiple ring protocols: http://lists.xensource.com/archives/html/xen-changelog/2007-01/msg00413.html) 1) When a block IO request is made by guest, do_block_io_op() obtains the ''req'' from appropriate ring based on blk_protocol (and invokes dispatch_rw_block_io()) but the "req_cons" is incremented for the "common" ring.. Where is the "req_cons" being incremented for the corresponding ring (native, x86_32 or x86_64) ? 2) For sending back the response, make_response() copies the "resp" on the appropriate ring based on blk_protocol but increments the "rsp_prod_pvt" for the "common" ring. Where is the "rsp_prod_pvt" being incremented for the corresponding ring (native, x86_32 or x86_64) ? Looking at xen/include/public/io/ring.h, I couldnt really figure things out looking at the macros? Am not really sure how the counters get incremented/decremented for each protocol ring during block request/response phase ...Any hint is appreciated.... --Kaushik _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel