Hi, I am using grant tables to set up a shared memory between two guests. One problem i am facing is that as soon as the shared memory is set up one of the domain crashes with the log message "Attempt to implicitly unmap a granted PTE". the message is from function "put_page_from_l1e" in mm.c(arch/x86). what could be the reason? Any pointers would be of great help __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new http://in.answers.yahoo.com/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
You must explicitly unmap grants. So the domain which uses GNTTABOP_map_grant_ref must subsequently unmap it with GNTTABOP_unmap_grant_ref. You cannot just zap the pte! -- Keir On 4/7/07 11:16, "Koripella Srinivas" <talkwithsrinivas@yahoo.co.in> wrote:> Hi, > I am using grant tables to set up a shared memory between two guests. > One problem i am facing is that as soon as the shared memory is set up one of > the domain crashes with the log message > "Attempt to implicitly unmap a granted PTE". > the message is from function "put_page_from_l1e" in mm.c(arch/x86). > > what could be the reason? Any pointers would be of great help > > > > > HereĀ¹s a new way to find what you''re looking for - Yahoo! Answers > <http://us.rd.yahoo.com/mail/in/yanswers/*http://in.answers.yahoo.com/> > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> I am using grant tables to set up a shared memory between two guests. > One problem i am facing is that as soon as the shared memory is set up one > of the domain crashes with the log message "Attempt to implicitly unmap a > granted PTE". > the message is from function "put_page_from_l1e" in mm.c(arch/x86). > > what could be the reason? Any pointers would be of great helpThis means that something is attempting to zero the PTE pointing to the granted page without doing an explicit grant unmap hypercall; this is not allowed by Xen. Do you have any idea what might be causing this? Are you mapping pages to userspace? Linux tends to zap userspace page mappings quite cheerfully unless you do something to stop it, could this be your problem? Cheers, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser wrote:> You must explicitly unmap grants. So the domain which uses > GNTTABOP_map_grant_ref must subsequently unmap it with > GNTTABOP_unmap_grant_ref. You cannot just zap the pte!Does that just apply to the last pte, or any pte? J _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 4/7/07 19:42, "Jeremy Fitzhardinge" <jeremy@goop.org> wrote:>> You must explicitly unmap grants. So the domain which uses >> GNTTABOP_map_grant_ref must subsequently unmap it with >> GNTTABOP_unmap_grant_ref. You cannot just zap the pte! > > Does that just apply to the last pte, or any pte?Any pte that was created via GNTTABOP_map_grant_ref. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> " Linux tends to zap userspace page mappings quite cheerfully > unless you do something to stop it, could this be your problem?" > > What does this mean exactly??Linux "zaps" mappings when it removes them from pagetables. Really this corresponds to zeroing a pte corresponding to that mapping. Unless you do something to stop the Linux mm system from treating the grant table mappins like "normal" RAM, it will eventually want to simply zero them. This will break for grant mappings, since it is not a permitted means of unmapping granted memory.> Any way i can prevent it from happening?It depends on what you''re trying to do... Have you looked at the userspace grantables driver in our Linux tree? This provides a device for mapping granted memory safely into userspace, handling cleanup correctly. Even if that''s not directly useful, maybe you can find some code in there that''ll help you. Cheers, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
I was looking at the user space grant tables but i did not find any code calling the function "remap_pfn_range" to map the kmalloc ed allocated memory into user space. What could be the reason?? Or am i missing something Thanks Mark. ----- Original Message ---- From: Mark Williamson <mark.williamson@cl.cam.ac.uk> To: Koripella Srinivas <talkwithsrinivas@yahoo.co.in> Cc: xen-devel@lists.xensource.com Sent: Friday, 6 July, 2007 9:55:48 AM Subject: Re: [Xen-devel] Grant Tables & mm.c> " Linux tends to zap userspace page mappings quite cheerfully > unless you do something to stop it, could this be your problem?" > > What does this mean exactly??Linux "zaps" mappings when it removes them from pagetables. Really this corresponds to zeroing a pte corresponding to that mapping. Unless you do something to stop the Linux mm system from treating the grant table mappins like "normal" RAM, it will eventually want to simply zero them. This will break for grant mappings, since it is not a permitted means of unmapping granted memory.> Any way i can prevent it from happening?It depends on what you''re trying to do... Have you looked at the userspace grantables driver in our Linux tree? This provides a device for mapping granted memory safely into userspace, handling cleanup correctly. Even if that''s not directly useful, maybe you can find some code in there that''ll help you. Cheers, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new http://in.answers.yahoo.com/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 7 Jul 2007, at 14:44, Koripella Srinivas wrote:> I was looking at the user space grant tables but i did not find any > code calling the function > "remap_pfn_range" to map the kmalloc ed allocated memory into user > space. > What could be the reason?? Or am i missing somethingThe mapping takes place in drivers/xen/gntdev/gntdev.c, in the function gntdev_mmap(). In the normal case (no shadow page tables), the page is mapped into user space by calling HYPERVISOR_grant_table_op, with the GNTTABOP_map_grant_ref operation, and (amongst other things) a pointer to the page table entry to be rewritten. Therefore, it is not necessary to call remap_pfn_range(). I''m not sure what you mean by "the kmalloc ed allocated memory". The memory is allocated by another domain, and inserted in the grant table. In the kernel that carries out the mapping, kmalloc is used only for allocating kernel-private data structures. Regards, Derek Murray. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
hi I try to read the function of "int xc_dom_boot_image(struct xc_dom_image *dom)",and I am confused about the two fields of struct xc_dom_image,p2m_guest and p2m_host, what are the meaning and functions of p2m_guest and p2m_host? could you help me Thanks in advance _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel