Re: [PATCH] xen: modify kernel mappings corresponding to grantedpages

From: Stefano Stabellini
Date: Tue Sep 06 2011 - 12:11:06 EST


On Tue, 9 Aug 2011, Konrad Rzeszutek Wilk wrote:
> On Tue, Jul 26, 2011 at 05:55:45PM +0100, stefano.stabellini@xxxxxxxxxxxxx wrote:
> > From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> >
> > If we want to use granted pages for AIO, changing the mappings of a user
> > vma and the corresponding p2m is not enough, we also need to update the
> > kernel mappings accordingly.
> > On x86_64 it is easy, we can issue another HYPERVISOR_grant_table_op
> > right away in m2p_add_override. We can remove the mappings using another
> > HYPERVISOR_grant_table_op in m2p_remove_override.
> > On x86_32 it is more difficult because the pages are highmem pages and
> > therefore we need to catch the set_pte that tries to map a granted page
> > and issue an HYPERVISOR_grant_table_op instead.
> > Same thing for unmapping them: we need to catch the pte clear or the
> > set_pte that try to unmap a granted page and issue an
> > HYPERVISOR_grant_table_op.
>
> So I hadn't looked at this in detail, but I wonder if we can use the
> MULTIcall for this? It looks like we need to do two hypercalls so why
> not batch it?

It wasn't easy but I managed to use multicalls in both m2p override and
the highmem counterparts in xen/mmu.c.
I'll send the multicall changes as a separate patch because I think
is going to be easier to read.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/