[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] Re: [Xen-changelog] [linux-2.6.18-xen] blktap2: a completely rewritten blktap implementation



On Tue, May 26, 2009 at 11:35:05AM -0700, Xen patchbot-linux-2.6.18-xen wrote:
> diff -r f3a935eb30e0 -r eba6fe6d8d53 drivers/xen/blktap2/device.c
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/drivers/xen/blktap2/device.c    Tue May 26 11:23:16 2009 +0100
> +static int
> +blktap_map_uaddr_fn(pte_t *ptep, struct page *pmd_page,
> +                 unsigned long addr, void *data)
> +{
> +     pte_t *pte = (pte_t *)data;
> +
> +     BTDBG("ptep %p -> %012llx\n", ptep, pte_val(*pte));
> +     set_pte(ptep, *pte);
> +     xen_invlpg(addr);
> +     return 0;
> +}
...
> +static int
> +blktap_umap_uaddr_fn(pte_t *ptep, struct page *pmd_page,
> +                  unsigned long addr, void *data)
> +{
> +     struct mm_struct *mm = (struct mm_struct *)data;
> +
> +     BTDBG("ptep %p\n", ptep);
> +     pte_clear(mm, addr, ptep);
> +     xen_invlpg(addr);
> +     return 0;
> +}

Hi. Although I looked into this for ia64, I think this is generic.
xen_invlpg() flushes tlb on its cpu and doesn't on other cpus.
But those functions set ptes for all cpus.
So should tlb on all cpus be flushed? Maybe by flush_tlb_page()?

thanks,
-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.