[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] One unstablity in fast syscall path
Recently we kept seeing intermittent domU creation failure after creating VTI domain. After some debug, we found it caused by following changeset: changeset: 10238:b27139d8c1e1 user: awilliam@xxxxxxxxxxx date: Sat Jun 03 11:16:47 2006 -0600 summary: [IA64] paravirtualize vdso There're several privileged accesses to vPSR in gate page, and previously it's done directly by triggering GP fault without xenlinux changes. Rev 10238 tries to para-virtualize those instructions by introducing two new hyperprivops. Now a simple assumption is forced to distinguish break immediate by checking vPSR.ic. People thought there's no break instruction with psr.ic off in xenlinux. So any break with vpsr.ic off is considered as a hyperprivop between domain and hypervisor. Based on this assumption, explicit vpsr.ic clearance is required before hypercall, and then recover required after. OK, that works, for most time because normally those hypercalls are issued within kernel text segment which is mapped by TR. So after hypervisor finished service for fast hypercall, xen can always RFI to exact resume point in xenlinux even when ITLB miss happens since that resume point can be found by vTR. However, gate page is not mapped by TR, and thus populating PSR.ic at non-TR-mapped segment is even mad in native environment. In our observation, when backing to gate page after servicing fast hypercall, ITLB miss happens but there's no guest entry in vTLB and VHPT. Thus xen injects a nested dtlb fault to xenlinux (vPSR.ic is still off) which is undesired to crash domU. That's the real problem, though we're not sure why this phenomenon is easier to be reproduced after creating VTI domain. Quick/easy solution can be to roll back above changeset to ensure tree stability first, and then community needs to think more robust solution later. Thanks, Kevin _______________________________________________ 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 |