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

Re: [Xen-devel] [xen-unstable test] 16788: regressions - FAIL



At 10:57 +0000 on 04 Mar (1362394626), Jan Beulich wrote:
> >>> On 02.03.13 at 13:34, xen.org <ian.jackson@xxxxxxxxxxxxx> wrote:
> > flight 16788 xen-unstable real [real]
> > http://www.chiark.greenend.org.uk/~xensrcts/logs/16788/ 
> > 
> > Regressions :-(
> > 
> > Tests which did not succeed and are blocking,
> > including tests which could not be run:
> >  test-amd64-i386-xend-qemut-winxpsp3  7 windows-install    fail REGR. vs. 
> > 16772
> >  test-amd64-i386-win           7 windows-install           fail REGR. vs. 
> > 16772
> 
> So this (and presumably other Windows failures too) is apparently
> a regression from 703ac3abcfc5f649c038070867ee12c67f730548
> ("x86: introduce create_perdomain_mapping()"), running into
> emulate_map_dest()'s
> 
>         /* Hack: we map the pages into the vcpu's LDT space, since we
>          * know that we're not going to need the LDT for HVM guests, 
>          * and only HVM guests are allowed unaligned writes. */
>         ASSERT(is_hvm_vcpu(v));
>         map = (void *)LDT_VIRT_START(v);
>         offset = l1_linear_offset((unsigned long) map);
>         l1e_write(&__linear_l1_table[offset],
>                   l1e_from_pfn(mfn_x(sh_ctxt->mfn1), __PAGE_HYPERVISOR));
>         l1e_write(&__linear_l1_table[offset + 1],
>                   l1e_from_pfn(mfn_x(sh_ctxt->mfn2), __PAGE_HYPERVISOR));
>         flush_tlb_local();
>         map += (vaddr & ~PAGE_MASK);
> 
> Question - is there really no better way than this to deal with
> cross page emulated writes?

There probably is -- all that's wanted here is two mappings that are
guaranteed to be contiguous in virtual address.  The LDT slots were
available; it would have been better to document this use where
LDT_VIRT_START is defined, though.

AFAICT, we'll need to:
 - cause some equivalent pair of PTEs to be available (either per-cpu or
   per-vcpu); or
 - add a map_two_domain_pages() function to use the mapcache for this; or
 - rework the emulated accesses not to need contiguous mappings (but I
   don't fancy doing a page-crossing cmpxchg in that case).

Cheers,

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.