Comment 44 for bug 634487

Stefan Bader (smb) wrote :

I repeated the Natty test with some extended debugging on another micro instance. The (annotated) output is below. As far as I understand it xen_set_pud() initiates a mmu_update multicall but by the time it gets flushed, there is still only one call present. This is a MMU_UPDATE hypervisor call. If I understand the description right, the lower two bits not set in ptr mean a normal PT update. The hypercall itself succeeds but the result is -EINVAL. There are many repetitions of this in the log. The ptr address seems to be the same in all cases, but val is always different.

 [ 178.878707] [<c0104c57>] ? xen_mc_flush+0x137/0x230
 [ 178.878710] [<c01068fd>] ? xen_set_pud_hyper+0x7d/0x80
 [ 178.878712] [<c0106947>] ? xen_set_pud+0x47/0x60
 [ 178.878715] [<c013a715>] ? pud_populate+0x45/0x90
 [ 178.878717] [<c020af53>] ? __pmd_alloc+0x73/0x90
 [ 178.878720] [<c020bbb4>] ? handle_mm_fault+0x174/0x190
 [ 178.878722] [<c0639b40>] ? do_page_fault+0x0/0x490
 [ 178.878725] [<c0639c9e>] ? do_page_fault+0x15e/0x490
 [ 178.878728] [<c0210133>] ? sys_mmap_pgoff+0x73/0x1d0
 [ 178.878731] [<c021050b>] ? sys_munmap+0x4b/0x60
 [ 178.878733] [<c0639b40>] ? do_page_fault+0x0/0x490
 [ 178.878736] [<c0636eaf>] ? error_code+0x67/0x6c
 [ 178.878739] call 1/1: op=1 result=-22 (-EINVAL) xen_extend_mmu_update+0x4a/0x70
 [ 178.878740] arg[0] = e620d960 (address of argument array)
 [ 178.878742] arg[1] = 1 (one pair of arguments)
 [ 178.878743] arg[2] = 0
 [ 178.878744] arg[3] = 7ff0 (DOMID_SELF)

ptr = 0x00000001 58b59008
val= 0x00000001 4c01f001