[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] x86/vLAPIC: vlapic_init() runs only once for a vCPU
commit 875248527906e6e98812d3ff844bcccbdd594768 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Wed Oct 14 14:05:10 2020 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Wed Oct 14 14:05:10 2020 +0200 x86/vLAPIC: vlapic_init() runs only once for a vCPU Hence there's no need to guard allocation / mapping by checks whether the same action has been done before. I assume this was a transient change which should have been undone before 509529e99148 ("x86 hvm: Xen interface and implementation for virtual S3") got committed. While touching this code, drop the pretty useless dprintk()-s. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- xen/arch/x86/hvm/vlapic.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c index 59660a8af4..5e21fb4937 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -1610,27 +1610,17 @@ int vlapic_init(struct vcpu *v) vlapic->pt.source = PTSRC_lapic; - if (vlapic->regs_page == NULL) - { - vlapic->regs_page = alloc_domheap_page(v->domain, MEMF_no_owner); - if ( vlapic->regs_page == NULL ) - { - dprintk(XENLOG_ERR, "alloc vlapic regs error: %d/%d\n", - v->domain->domain_id, v->vcpu_id); - return -ENOMEM; - } - } - if (vlapic->regs == NULL) + vlapic->regs_page = alloc_domheap_page(v->domain, MEMF_no_owner); + if ( !vlapic->regs_page ) + return -ENOMEM; + + vlapic->regs = __map_domain_page_global(vlapic->regs_page); + if ( vlapic->regs == NULL ) { - vlapic->regs = __map_domain_page_global(vlapic->regs_page); - if ( vlapic->regs == NULL ) - { - free_domheap_page(vlapic->regs_page); - dprintk(XENLOG_ERR, "map vlapic regs error: %d/%d\n", - v->domain->domain_id, v->vcpu_id); - return -ENOMEM; - } + free_domheap_page(vlapic->regs_page); + return -ENOMEM; } + clear_page(vlapic->regs); vlapic_reset(vlapic); -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |