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
dom0vp-patches.tar.bz2
Description: Binary data
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|