Steven
2011-Nov-22 17:40 UTC
what is the max number of page can be granted and mapped between two domain
Hi, I am trying to share some memory pages between a domU and dom0. The domU calls gnttab_grant_foreign_access(domid, mfn, 0); to grant the its pages for accessing by dom0, and then dom0 calls gnttab_set_map_op(... remoteDomain) and HYPERVISOR_grant_table_op(...) to map the pages from domU. Everying works fine when the number of granted page is < 533 However, when the number of granted page is >= 533, dom0 can not map the granted pages. The function HYPERVISOR_grant_table_op returns error. My question is whether the max number of mapped page is 533. If it is how can I changed this limit. Or if there is any bettter way to sharing a large chunk of memory (about 20MB) page between two domains. Thanks. - Steven
Steven
2011-Nov-22 19:52 UTC
Re: what is the max number of page can be granted and mapped between two domain
By the way, the error message from Xen by xm dmesg is (XEN) grant_table.c:266:d0 Bad flags (0) or dom (0). (expected dom 0) Thanks. On Tue, Nov 22, 2011 at 12:40 PM, Steven <wangwangkang@gmail.com> wrote:> Hi, > I am trying to share some memory pages between a domU and dom0. > The domU calls gnttab_grant_foreign_access(domid, mfn, 0); to grant the its > pages for accessing by dom0, and then dom0 calls > > gnttab_set_map_op(... remoteDomain) and HYPERVISOR_grant_table_op(...) > to map the pages from domU. > Everying works fine when the number of granted page is < 533 > However, when the number of granted page is >= 533, dom0 can not map > the granted pages. > The function HYPERVISOR_grant_table_op returns error. > > My question is whether the max number of mapped page is 533. If it is > how can I changed this limit. Or if there is any bettter way to > sharing a large chunk of memory (about 20MB) page between two domains. > Thanks. > > - Steven >
Tim Deegan
2011-Nov-24 12:12 UTC
Re: what is the max number of page can be granted and mapped between two domain
On Tue, Nov 22, 2011 at 12:40 PM, Steven <wangwangkang@gmail.com> wrote:> Hi, > I am trying to share some memory pages between a domU and dom0. > The domU calls gnttab_grant_foreign_access(domid, mfn, 0); to grant the its > pages for accessing by dom0, and then dom0 calls > > gnttab_set_map_op(... remoteDomain) and HYPERVISOR_grant_table_op(...) > to map the pages from domU. > Everying works fine when the number of granted page is < 533 > However, when the number of granted page is >= 533, dom0 can not map > the granted pages. > The function HYPERVISOR_grant_table_op returns error. > > My question is whether the max number of mapped page is 533. If it is > how can I changed this limit. Or if there is any bettter way to > sharing a large chunk of memory (about 20MB) page between two domains.No, 533 is not the limit. It''s a rather odd point for things to stop working, though. 512 is the number of grant entries that fit into a single page; is your domU setting up its grant tables properly to be the right size? At 14:52 -0500 on 22 Nov (1321973551), Steven wrote:> By the way, the error message from Xen by xm dmesg is > > (XEN) grant_table.c:266:d0 Bad flags (0) or dom (0). (expected dom 0)That probably means the grant-table entry wasn''t set up in the right place (if at all). You''ll need to add some tracing to your domU kernel and to Xen to find out why Xen doesn''t see the grant entry. Tim.