xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: annie li <annie.li@oracle.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	linux-kernel@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	jeremy@goop.org
Cc: Kurt Hackel <Kurt.Hackel@oracle.com>,
	Paul Durrant <paul.durrant@citrix.com>,
	Ian.Campbell@citrix.com
Subject: Improved patches of upstreaming grant table version 2
Date: Wed, 16 Nov 2011 20:55:39 +0800	[thread overview]
Message-ID: <4EC3B2CB.8030607@oracle.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 1924 bytes --]

Hi

The following patches introduce and implement grant table version 2. 
They are improved from my previous patches and based on v3.2.0-rc1+.

Descriptions for those patches:

1. In those patches, the grant table code supports both grant table v1 
and v2 version, v2 is an extension from v1. Grant table of guest domain 
can be either v1 or v2 version, and every grant table entry on one guest 
should be the same version.

2. Full page structure of grant table v2 play the same role as grant 
table v1. Although full page structure is different from v1, grant table 
2 is totally backwards compatible with v1. Grant table is shared between 
guest and Xen, domu and dom0 all have their own grant table shared with 
Xen, and their grant table version should be set before any grants are 
activated. When domu grants an entry to dom0 to map a frame, following 
are steps:
* domu introduces a grant entry by reference
* domu informs dom0 the gref
* dom0 sends hypercall to map frame through this reference, Xen copy 
shared entry to active entry and update frame
* dom0 does its work and release the frame, Xen releases the entry.
* domu redo those steps for a new cycle.

Xen mapping process can be found in function __gnttab_map_grant_ref in 
link: 
http://xenbits.xen.org/hg/xen-4.1-testing.hg/file/81e39a4978ea/xen/common/grant_table.c#l2172 


3. If dom0 supports grant table v2, guests run on it can either supports 
v1 or v2. Xen is responsible to judge what version the guests are using. 
This is implemented in link: 
http://xenbits.xen.org/hg/xen-4.1-testing.hg/file/81e39a4978ea/xen/common/grant_table.c#l2172. 
Key word is:  rd->grant_table->gt_version.

4. Grant table v2 has been supported by Xen for a long time, and receiver-side copying mechanism bases on this implementation. Netback and netfront driver can pick up this new feature to get better network performance and better CPU accounting.

Thanks
Annie

[-- Attachment #1.2: Type: text/html, Size: 2792 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

             reply	other threads:[~2011-11-16 12:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-16 12:55 annie li [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-11-16 13:10 Improved patches of upstreaming grant table version 2 annie li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EC3B2CB.8030607@oracle.com \
    --to=annie.li@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Kurt.Hackel@oracle.com \
    --cc=jeremy@goop.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paul.durrant@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).