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

Re: [Xen-ia64-devel] [Patch] Fix for re-enabling PV-on-HVM on IPF



Hi Yamahata-san,

  Thank you for your comment.

You (yamahata) said:
> On Tue, Mar 06, 2007 at 09:56:14PM +0900, DOI Tsunehisa wrote:
>>     - we have to modify guest_physmap_add_page() to support it.
>>       (this is straight reason of hypervisor crash)
> 
> The patch breaks the the p2m/m2p table convension.
> get_page() shouldn't fail because xen heap page must be owned
> by the domain when guest_physmap_add_page() is called.
> share_xen_page_with_guest() does it.

  I've thought that this patch is tricky, but I didn't find the
correct way to modify to avoid hypervisor crash issue.

> What kind of page was passed when you observed the panic?
> Who allocated and passed it?

  Currently, without this patch, hypervisor crashes in PV-on-HVM
initialization phase..

  * at share_info page remapping: success
    - called from HYPERVISOR_memory_op in init_xen_info()..
      (unmodified_drivers/linux-2.6/platform-pci/platform-pci.c)
  * at grant table page remapping: crash
    - called from gnttab_init() in init_xen_info()
    - call tree in driver code is 
      gnttab_init() -> gnttab_resume() -> gnttab_map()
         -> HYPERVISOR_memory_op
      (linux-2.6-xen-sparse/drivers/xen/core/gnttab.c)
    - at guest_physmap_add_page() in hypervisor code,

  1706  void
  1707  guest_physmap_add_page(struct domain *d, unsigned long gpfn,
  1708                         unsigned long mfn)
  1709  {
  1710      int ret;
  1711
  1712      BUG_ON(!mfn_valid(mfn));
  1713      ret = get_page(mfn_to_page(mfn), d);
  1714      BUG_ON(ret == 0);           <<==== it crashes at this point.
  1715      set_gpfn_from_mfn(mfn, gpfn);
  1716      smp_mb();

  So, at grant table page remapping, the hypervisor crashes,
I think.

Thanks,
- Tsunehisa Doi

_______________________________________________
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®.