[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv4 04/14] xen: remove scratch frames for ballooned pages and m2p override
On Tue, 27 Jan 2015, David Vrabel wrote: > On 27/01/15 11:10, Stefano Stabellini wrote: > > On Tue, 27 Jan 2015, David Vrabel wrote: > >> On 27/01/15 10:57, Stefano Stabellini wrote: > >>> On Mon, 26 Jan 2015, David Vrabel wrote: > >>>> The scratch frame mappings for ballooned pages and the m2p override > >>>> are broken. Remove them in preparation for replacing them with > >>>> simpler mechanisms that works. > >>>> > >>>> The scratch pages did not ensure that the page was not in use. In > >>>> particular, the foreign page could still be in use by hardware. If > >>>> the guest reused the frame the hardware could read or write that > >>>> frame. > >>>> > >>>> The m2p override did not handle the same frame being granted by two > >>>> different grant references. Trying an M2P override lookup in this > >>>> case is impossible. > >>>> > >>>> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> > >>> > >>> [...] > >>> > >>>> int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops, > >>>> struct gnttab_map_grant_ref *kmap_ops, > >>>> struct page **pages, unsigned int count) > >>>> { > >>>> int i, ret = 0; > >>>> - bool lazy = false; > >>>> pte_t *pte; > >>>> > >>>> if (xen_feature(XENFEAT_auto_translated_physmap)) > >>>> return 0; > >>>> > >>>> - if (kmap_ops && > >>>> - !in_interrupt() && > >>>> - paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE) { > >>>> - arch_enter_lazy_mmu_mode(); > >>>> - lazy = true; > >>>> + if (kmap_ops) { > >>>> + ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, > >>>> + kmap_ops, count); > >>>> + if (ret) > >>>> + goto out; > >>>> } > >>> > >>> I think that you should explain why you are adding one more grant table > >>> mapping to a function meant to work on the p2m/m2p. Everything else is > >>> clear. > >> > >> I'm not. This function has always done this. > > > > Can you be more specific please? > > > > I cannot see a call to HYPERVISOR_grant_table_op among the lines you are > > removing from this function in this patch. > > This function called m2p_add_override() which did the grant map > hypercall (an op at a time). OK. Add to the commit message please. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |