lkml.org 
[lkml]   [2011]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Xen-devel] Re: [PATCH v4 2/2] xen: modify kernel mappings corresponding to granted pages
    > > Anyhow, If you want to modify your patchset to check PagePrivate bit
    > > and set the SetPagePrivate/set_page_private - go ahead.
    >
    > I'll do that.

    Preempted you a bit :-)
    http://lists.xensource.com/archives/html/xen-devel/2011-09/msg01364.html

    > > > > > + gnttab_set_map_op(&map->kmap_ops[i], pte_maddr,
    > > > > > + map->flags |
    > > > > > + GNTMAP_host_map |
    > > > > > + GNTMAP_contains_pte,
    > > > > > + map->grants[i].ref,
    > > > > > + map->grants[i].domid);
    > > > > > + }
    > > > >
    > > > > So, on startup.. (before this function is called) the
    > > > > find_grant_ptes is called which pretty much does the exact thing for
    > > > > each virtual address. Except its flags are GNTMAP_application_map
    > > > > instead of GNTMAP_host_map.
    > > > >
    > > > > It even uses the same type structure.. It fills out map_ops[i] one.
    > > > >
    > > > > Can we use that instead of adding a new structure?
    > > >
    > > > Do you mean moving this code inside find_grant_ptes?
    > > > I don't think that can be done because find_grant_ptes is called on a
    > > > range of virtual addresses while this is called on an array of struct
    > > > pages. It is true that the current implementation of
    > >
    > > But aren't that 'range of virtual address' of struct pages? You
    > > are using 'alloc_xenballooned_pages' to get those pages and that is
    > > what the 'range of virtual adresses' is walking through.
    >
    > it is not the same range of virtual addresses

    OK, but the pte_maddr is the same, isn't it?

    >
    > > > alloc_xenballooned_pages is going to return a consecutive set of pages
    > > > but it might not always be the case.
    > >
    > > I am sensing some grand plans in work here? I thought we are going to
    > > try to simply our lives and see about making alloc_xenballooned_pages
    > > returned sane pages that are !PageHighMem (or if they are PageHighMem they
    > > are already pinned, and set in the &init_mm)?
    > >
    > > I am just thinking in terms of lookup_address and arbitrary_virt_to_machine
    > > calls being done _twice_. And it seems like we have the find_grant_ptes
    > > which does the bulk of this already - so why not piggyback on it?
    >
    > It has to be done twice: once for the user ptes and once for the kernel
    > mappings of map->pages.
    >
    >
    > > Besides that, the patch set looks fine. .. How do I reproduce the failures
    > > you had encountered with the AIO?
    > >
    >
    > Just setup and use upstream qemu and configure your VM to use a disk on
    > a file (file:).

    OK.


    \
     
     \ /
      Last update: 2011-09-28 15:15    [W:0.028 / U:31.296 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site