From: Konrad Rzeszutek Wilk Date: Wed, 16 Jan 2013 21:18:04 +0000 (-0500) Subject: xen/grant-table: Force to use v1 of grants. X-Git-Tag: next-20130218~34^2~13^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=382c2422150c4636f057f29c01eb7619265eb112;p=karo-tx-linux.git xen/grant-table: Force to use v1 of grants. We have the framework to use v2, but there are no backends that actually use it. The end result is that on PV we use v2 grants and on PVHVM v1. The v1 has a capacity of 512 grants per page while the v2 has 256 grants per page. This means we lose about 50% capacity - and if we want more than 16 VIFs (each VIF takes 512 grants), then we are hitting the max per guest of 32. Note: The hypervisor provides an over-ride for the default of 32 frames (pages) per guest: gnttab_max_nr_frames=X Oracle-bug: 16039922 CC: annie.li@oracle.com CC: msw@amazon.com Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index 95ce9d02ceca..568fd8f4a671 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -1108,10 +1108,8 @@ static void gnttab_request_version(void) int rc; struct gnttab_set_version gsv; - if (xen_hvm_domain()) - gsv.version = 1; - else - gsv.version = 2; + gsv.version = 1; + rc = HYPERVISOR_grant_table_op(GNTTABOP_set_version, &gsv, 1); if (rc == 0 && gsv.version == 2) { grant_table_version = 2;