[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [PATCH] [RFC] [TAKE3] P2M/VP (incomplete) patches
Hello all xen/ia64 developers. The attached patches for xen-ia64-unstable.hg are the incomplete patches of P2M/VP model take 3. With these patches I can ssh to domU from a remote machine. These patches are incomplete yet, but grant table API clean up is planned. It should be discussed before actual coding. So I post take 3 patches to discuss on it. I will post a documentation for discussion by another mail. * contents status summary current status issues known bugs other TODOs patches * status summary Item Status dom0 builder done ACPI done mm I/O done phys2mach done dma API done swiotlb done agp not yet the modification is done. testers are needed foreign mapping work in progress It's working now, but code clean up is needed. vbd work in progress It's working now, but code clean up is needed. vnif work in progress It's working now with many ifdef/ifndef __ia64__. code clean up is needed depending grant table API clean up. grant table work in progress It's working now but it's performance is horrible. API clean up and performance tuning are needed. balloon work in progress blktap not yet * current status vnif is already working on xen/IA64 with many ifdef/ifndef __ia64__, I can ssh to domU from a physically remote machine. However its performance is horrible because of full tlb/vhpt flush every grant table unmap/transfer. Other virtual devices except balloon and blktap should work, but I haven't tested them. * issues These are in random order. Another document will be posted to discuss on grant table API clean up and performance tuning. - HP ZX1 Some modification is necessary for linux/arch/ia64/hp/common/sba_iommu.c. I haven't worked on it yet and I have no access to HP ZX1. - SGI Altix There are many custom drivers under linux/arch/ia64/sn directory. They also need modifications. I don't know whether the current(P==M) xen/IA64 can boot on Altix. - AGP AGP should work, but I haven't tested it. - grant table API clean up This is necessary for merging to xen/x86 upstream. A documentation might be also needed. - grant table read-only mapping - number of grant table entries - performance tuning Current performance is horrible so that it isn't for a practical use yet. - grant table mapped page reference count and domain destruction If a domain is destroyed when it maps a foreign domain's page via grant table, its page reference count will be leaked. Page freeing code is needed. - xen_start_info->{console_mfn, store_mfn} These are defined as machine frame number. However on Xen/IA64 with P2M/VP model, these should be pseudo physical frame number. So they should be gmfn instead of mfn. - ballon driver (XENMEM_populate_physmap, XENMEM_decrease_reservation, XENMEM_increase_reservation) I'm working on this. Balloon driver can be compiled but it doesn't work yet.(machine reboot) Debug is needed. - SMP Currently nosmp option to xen/IA64 is needed. This will be addressed after grant table API clean up. (maybe before performance tuning implementation.) - IOCTL_PRIVCMD_MMAP, IOCTL_PRIVCMD_MMAPBATCH re-implement xen/IA64 implementation using PageForeign() and its families. - transparent para-virtualization Some of xen/IA64 developers value transparent para-virtualization. "if (running_on_xen) { }" is be used, but it isn't tested. Or is it worthwhile to define a kind of switch which is determined at boot up time ? - Rusty's share This might need to be researched. This can be a clean inter domain communication API. - merge effort more code clean up is necessary. - stability/test/benchmark - blktap grant table GNTMAP_application_map and GNTMAP_contains_pte. - ski simulator simscsi, simeth are broken. - guest domain page size < xen page size This is not supported yet by the current implementation. And this isn't addressed right now at the early stage of dom0 virtual physical model. This is the future issue. * known bugs Known bugs are listed heres for those who want to test/debug the P2M/VP model patch. - unaligned access When using network, (perhaps) dom0 complains with following messages. kernel unaligned access to 0xe0000000189ec21e, ip=0xa0000001005644f1 kernel unaligned access to 0xe0000000189ec21e, ip=0xa000000100564590 kernel unaligned access to 0xe0000000189ec21e, ip=0xa000000100564630 On my environment, these ip's happened to be of Linux bridge. I haven't tracked them down yet and I'm not very familiar a directory linux/net/bridge. So I'm not sure that this is due to the original Linux/IA64 or Xen/IA64 or the P2M/VP model patch. Is there anyone who want to dig into this? - sometimes Xen hangs with the following message. (XEN) ia64_fault: General Exception: IA-64 Reserved Register/Field fault (data access): reflecting - domU boot and OOM sometimes OOM occurs during domU boot with infinite following messages. Out of Memory: Kill process 2 (migration/0) score 0 and children. ... lasting forever. * other TODOs unrelated to M2P/VP model patches These are not related to M2P/VP model patch directly. I list them here for record. - copy_to_guest(), copy_from_guest() They are broken. Their copy may success or may result in EFAULT depending on tlb cache state. Fortunately xen/PPC port already solved similar problems. - SUBARCH - panic_domain() This function is called when a domain behaves a way xen can't handle well. A domain should be stopped, but xen should continue to run. But the current implementation results in BUG() in xen or drops to debugger so that xen itself stops. - dltb miss handler optimization - alt itlb miss handler fix fix dom0 startup environment to remove alt itlb miss which occurs at dom0 boot time. * patches Following 5 patches should go to xen-ia64-unstable.hg 9408:88f91dc71d0b_ia64_xen_mkbuildtree_pre_use_ln_sf.patch 9409:b62b4f620800_fix_prtype_info.patch 9410:02cf21f8fbff_fix_xen_ia64_debugger_h.patch 9411:01888a0427b7_fix_hypercall_h_hypervisor_h.patch 9412:41930dbd2235_dump_stack.patch The following 9 patches are for grant table and vbd. 9413:3b3fe797eb18_fix_gnttab_transfer_mfn_check.patch 9414:724625ac7e85_move_linux_efi_h_to_linux_xen_linux_efi_h.patch 9415:2d6a8d5c172c_dom0_vp_model_xen_side_README_orig_efi_h.patch 9416:3548f050c4a4_dom0_vp_model_xen_part.patch 9417:0aaf9d8dc312_import_io_h.patch 9418:2de54534aff6_import_page_h.patch 9419:4fa8c2c33135_import_pgalloc_h.patch 9420:35a2bbe63b57_import_dma_mapping_h.patch 9421:fc68ef226160_import_machvec_h.patch 9422:737fbc3ec214_import_agp_h.patch 9423:5003ac79c506_dom0_vp_model_linux_part.patch The following 8 patches are for grant table, vbd and vnif. 9424:eacbf469fa12_libxc_ia64_get_pfn_list_work_around.patch 9425:0f1b6c330dd4_dont_use_vga_area.patch 9426:41fe2ad972fd_gnttab_shared_gmfn.patch 9427:37aabbaaf4b9_fix_grant_entry_t_frame.patch 9428:b9c70c855701_grant_table_xen_part.patch 9429:3e8cbcf7102c_grant_table_linux_part.patch 9430:f447a1213993_libxc_use_mfn_for_store_mfn_and_console_mfn.patch 9431:43a697ec8ad4_ia64_netback_netfront.patch thanks -- yamahata Attachment:
dom0vp-patches.tar.bz2 _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |