Mailing List Archive

【confused】what does xc_map_foreign_batch do?
Hi, all
In tools/libxc/xc_domain_save .c, one function called
`map_and_save_p2m_table` where there exists a confusing problem, as is
shown below:

621 live_p2m_frame_list =



622 xc_map_foreign_batch(xc_handle, dom, PROT_READ,



623 p2m_frame_list_list,



624 P2M_FLL_ENTRIES);

memcpy(p2m_frame_list, live_p2m_frame_list, P2M_GUEST_FL_SIZE);

654 p2m = xc_map_foreign_batch(xc_handle, dom, PROT_READ,



655 p2m_frame_list,



656 P2M_FL_ENTRIES);


maybe someone encountered the same problem, would you help me?

Besides, what's the difference between IOCTL_PRIVCMD_MMAP
and IOCTL_PRIVCMD_MMAPBATCH?


Thanks
bruce
Re: 【confused】what does xc_map_foreign_batch do? [ In reply to ]
On Sat, Sep 29, 2012 at 4:07 AM, 马磊 <aware.why@gmail.com> wrote:
> Hi, all
> In tools/libxc/xc_domain_save .c, one function called
> `map_and_save_p2m_table` where there exists a confusing problem, as is shown
> below:
>
> 621 live_p2m_frame_list =
> 622 xc_map_foreign_batch(xc_handle, dom, PROT_READ,
> 623 p2m_frame_list_list,
> 624 P2M_FLL_ENTRIES);
>
> memcpy(p2m_frame_list, live_p2m_frame_list, P2M_GUEST_FL_SIZE);
>
> 654 p2m = xc_map_foreign_batch(xc_handle, dom, PROT_READ,
> 655 p2m_frame_list,
> 656 P2M_FL_ENTRIES);
>
>
> maybe someone encountered the same problem, would you help me?

What's the problem?

> Besides, what's the difference between IOCTL_PRIVCMD_MMAP and
> IOCTL_PRIVCMD_MMAPBATCH?

IOCTL_PRIVCMD_MMAP will only map a single page; MMAPBATCH will map an
array of pages.

(To "batch" something in computing means to do a bunch of things all
together rather than doing them separately; e.g., rather than mapping
each page with a separate ioctl, you "batch" them all together in one
ioctl.)

-George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: 【confused】what does xc_map_foreign_batch do? [ In reply to ]
On Mon, Oct 1, 2012 at 10:17 PM, George Dunlap
<George.Dunlap@eu.citrix.com>wrote:

> On Sat, Sep 29, 2012 at 4:07 AM, 马磊 <aware.why@gmail.com> wrote:
> > Hi, all
> > In tools/libxc/xc_domain_save .c, one function called
> > `map_and_save_p2m_table` where there exists a confusing problem, as is
> shown
> > below:
> >
> > 621 live_p2m_frame_list =
> > 622 xc_map_foreign_batch(xc_handle, dom, PROT_READ,
> > 623 p2m_frame_list_list,
> > 624 P2M_FLL_ENTRIES);
> >
> > memcpy(p2m_frame_list, live_p2m_frame_list, P2M_GUEST_FL_SIZE);
> >
> > 654 p2m = xc_map_foreign_batch(xc_handle, dom, PROT_READ,
> > 655 p2m_frame_list,
> > 656 P2M_FL_ENTRIES);
> >
> >
> > maybe someone encountered the same problem, would you help me?
>
> What's the problem?
>
> > Besides, what's the difference between IOCTL_PRIVCMD_MMAP and
> > IOCTL_PRIVCMD_MMAPBATCH?
>
> IOCTL_PRIVCMD_MMAP will only map a single page; MMAPBATCH will map an
> array of pages.
>
> (To "batch" something in computing means to do a bunch of things all
> together rather than doing them separately; e.g., rather than mapping
> each page with a separate ioctl, you "batch" them all together in one
> ioctl.)
>
> -George
>
Thanks, yours makes me clear and confident.