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

Re: [Xen-devel] [PATCH v10 07/11] xen: delay allocation of grant table sub structures



On 28/09/17 20:56, Andrew Cooper wrote:
> On 25/09/17 11:00, Juergen Gross wrote:
>> Delay the allocation of the grant table sub structures in order to
>> allow modifying parameters needed for sizing of these structures at a
>> per domain basis. Allocate the structures and the table frames only
>> from grant_table_init().
>>
>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>> Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> 
> I've just rebased my hypervisor and booting an HVM guest is going splat
> thusly:
> 
> (XEN) Assertion 'gt->active' failed at grant_table.c:1672
> (XEN) ----[ Xen-4.10-unstable  x86_64  debug=y   Not tainted ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82d08020d92c>] 
> grant_table.c#gnttab_grow_table+0x26/0x383
> (XEN) RFLAGS: 0000000000010246   CONTEXT: hypervisor (d0v1)
> (XEN) rax: 00000000ffffffea   rbx: ffff83082b783ec0   rcx: 0000000000000010
> (XEN) rdx: 0000000000000020   rsi: 0000000000000001   rdi: ffff83082b782000
> (XEN) rbp: ffff8300abe4fca8   rsp: ffff8300abe4fc58   r8:  0000000000000000
> (XEN) r9:  deadbeefdeadf00d   r10: 0000000000000000   r11: 0000000000000282
> (XEN) r12: ffff8300abe4fd10   r13: 0000000000000000   r14: ffff83082b782000
> (XEN) r15: 00007fee507d3004   cr0: 0000000080050033   cr4: 00000000001526e0
> (XEN) cr3: 000000083412c000   cr2: ffff880086270140
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen code around <ffff82d08020d92c> 
> (grant_table.c#gnttab_grow_table+0x26/0x383):
> (XEN)  00 48 83 7b 40 00 75 02 <0f> 0b 8b 75 c8 83 fe 03 b8 04 00 00 00 0f 47 
> c6
> (XEN) Xen stack trace from rsp=ffff8300abe4fc58:
> (XEN)    0000000800000001 0000000000000000 ffff83082b782000 ffff82d000000001
> (XEN)    ffff8300abe4fca8 ffff83082b783ec0 ffff8300abe4fd10 0000000000000000
> (XEN)    ffff83082b782000 00007fee507d3004 ffff8300abe4fcd8 ffff82d080216ae5
> (XEN)    0000000000000001 ffff83082b782000 0000000000000000 00000000000ff000
> (XEN)    ffff8300abe4fd48 ffff82d080282c31 0000000000000000 8086000000008086
> (XEN)    0000000000000003 ffff880086270140 ffffffff81181268 ffffffffffffffff
> (XEN)    0000000000000000 0000000000000001 0000000000000000 0000000000000000
> (XEN)    ffff83082b782000 00007fee507d3004 ffff8300abe4fe68 ffff82d08021ecd3
> (XEN)    ffff8300abf7d000 ffff8308373eb000 0000000000000000 ffff8300abf7d000
> (XEN)    ffff8300abe4fd98 ffff82d08028a70f 00000000ffffffff ffff8308373e0000
> (XEN)    ffff8300abe4fe68 ffff82d08028bca1 000000000000e033 0000000000010246
> (XEN)    0000000100000001 0000000000000000 00000000000ff000 ffff82d08035285e
> (XEN)    ffff82d08057aa88 ffff8300abe4ffff ffff8300abe4fe68 ffff82d080357a95
> (XEN)    ffff880087e2aa68 00000000000fefff 0000000000000246 00007fee4f7f2537
> (XEN)    0000000000000100 00007fee4f7f2537 0000000000000033 0000000000000246
> (XEN)    00007ffdef7c6fa8 ffff8300abe4ff18 ffff8300abf7d000 000000000000000c
> (XEN)    ffff82d08021db9d deadbeefdeadf00d ffff8300abe4ff08 ffff82d0803574fe
> (XEN)    0200008700000001 0000000000000007 00007fee507d3004 deadbeefdeadf00d
> (XEN)    deadbeefdeadf00d deadbeefdeadf00d ffff8300abf7d000 ffff880086270140
> (XEN)    ffff8300abe4ff08 ffff82d0802a03f5 ffff8300abe4fef8 ffff82d080237abe
> (XEN) Xen call trace:
> (XEN)    [<ffff82d08020d92c>] grant_table.c#gnttab_grow_table+0x26/0x383
> (XEN)    [<ffff82d080216ae5>] gnttab_map_frame+0x11a/0x1e6
> (XEN)    [<ffff82d080282c31>] xenmem_add_to_physmap_one+0xda/0x40c
> (XEN)    [<ffff82d08021ecd3>] do_memory_op+0x1136/0x2573
> (XEN)    [<ffff82d0803574fe>] pv_hypercall+0x1ef/0x42d
> (XEN)    [<ffff82d08035bfd6>] x86_64/entry.S#test_all_events+0/0x30
> (XEN) 
> (XEN) 
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Assertion 'gt->active' failed at grant_table.c:1672
> (XEN) ****************************************
> 
> I've not taken a new toolstack (as I'm unable to atm), but it looks like
> the correctness of hypervisor behaviour might now depend on toolstack
> behaviour, which is distinctly suboptimal.

The set limits domctl is now mandatory.

I'll send a patch which will just return an error instead of breaking
the system.


Juergen


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

 


Rackspace

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