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

Re: [PATCH v3 03/11] x86/vlapic: introduce an EOI callback mechanism


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Wed, 31 Mar 2021 14:50:35 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IEvQ/Iptiq4A6duRyyG70TCDG33jMLzwaxZ+FKl4iQQ=; b=dEqGssWwGuD7JCWTXAUR/McHR+GlDY4SnbW6qIOnRZgzmQurq2Qg5hZQRHTCYMVUX9aMcPNRGZgDSPocgjVWNRHOVux+dl2IGmPreqRXT4fKzEBPr7wAM7RogbukeLjJWaNzoEMIujpPOXIRZ9yaiIuktxL8q9d5oAyXouSYmW768JUsd1gxuyiN8dHvPdmqx34kCoGrX3Dhx1amGTtf0kV9vZmioreP3Tr8PL0iDltgFf6ezijHB2DOWH20WRk0F9w4uLok8bcaRgRtTs5RYsqk8ht43gtGjro66VTbGm3DkI2+W9LPCFIQcgFGveU9OaRfxfL9jBvYI7T8XFnfFQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A/HxBBWp8gfuPKYKiZsBwe+bG+r3JHZAu4dK3szzZxn94GTLPgCzpYLS+gZbuvJzP0IQ+8tEcDWRkk59FWM7MOdoYX1MCayJZTf306LkmbwOw967KYB6NLopvIeSVVapZ50KioHm3IeIZO51a95RvZ1HFlmq0o91vqJnBaizXxOmDE5JPmS/h1BNM6THhgVMXkNllfm7mxfK6EIJBvYvMJFqXw3BX1tCrWoa9EuL279MDxLOpFhHZyTQWd+UjvoRTUVxJzz5hFdpcvy4BuDIDwinrGwbjnV6Kb5QdJFnWWEZKW1T/zNEUmAgNfozKByetAnjeonPj7mpzBwAEat0CQ==
  • Authentication-results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Wed, 31 Mar 2021 12:50:54 +0000
  • Ironport-hdrordr: A9a23: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 rkYSvfe44N4C/UqGT96SNXYN8Oqj5ltHUnmQ==
  • Ironport-sdr: AegqovlZAbSJjAzXZgMB+bE6enBPSEm33OC70BL1ljUTW56JO+il4agfVB1Y/1ZRy18LW432sU w/lbFzTsL/Ng1S6ClzT7CHAqHw8zx1w/lbN4ma5jWoAT65ENXmako3QHI5QXWrHaOLKCngLIdm Y4gqdPdBqJs33W1UM/Aa14BxZpyhxiwbxJu0vl04iMAU2dSdsbGDqtUy5laEFsM5CQUt3K7b/c NjnZuJ/VwNXnrBm7YsQiin1/DlU6hOnnlCfg3PgxC8c3RfRz1U6DJysX/A4/vs7ZRIMs2+6wxB XoA=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Wed, Mar 31, 2021 at 12:47:54PM +0100, Andrew Cooper wrote:
> On 31/03/2021 11:32, Roger Pau Monne wrote:
> > @@ -1620,9 +1666,22 @@ int vlapic_init(struct vcpu *v)
> >  
> >      clear_page(vlapic->regs);
> >  
> > +    vlapic->callbacks = xmalloc_array(typeof(*vlapic->callbacks),
> > +                                      X86_NR_VECTORS - 16);
> > +    if ( !vlapic->callbacks )
> > +    {
> > +        dprintk(XENLOG_ERR, "%pv: alloc vlapic callbacks error\n", v);
> > +        unmap_domain_page_global(vlapic->regs);
> > +        free_domheap_page(vlapic->regs_page);
> > +        return -ENOMEM;
> > +    }
> > +    memset(vlapic->callbacks, 0,
> > +           sizeof(*vlapic->callbacks) * (X86_NR_VECTORS - 16));
> 
> xzalloc_array() instead of memset().  Also, we shouldn't be printing for
> -ENOMEM cases.
> 
> As for the construction/teardown logic, vlapic_init()'s caller already
> vlapic_destory().  Therefore, the existing error path you've copied is
> buggy because it will cause a double-free if __map_domain_page_global()
> fails.

Right, let me adjust that path.

> I'll do a cleanup patch to fix the idempotency, which needs backporting too.

Ack, I don't mind doiing one myself either.

Thanks, Roger.



 


Rackspace

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