WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] doubt: Block IO multiple ring protocol

To: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] doubt: Block IO multiple ring protocol
From: Kaushik Bhandankar <kaushikb@xxxxxxxxxxxxx>
Date: Thu, 15 Nov 2007 02:54:11 -0500
Delivery-date: Wed, 14 Nov 2007 23:54:56 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.13 (X11/20070824)
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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] doubt: Block IO multiple ring protocol, Kaushik Bhandankar <=