[<prev] [next>] [day] [month] [year] [list]
Message-ID: <3619dc3b-d1b9-ab76-a008-2c45799d5803@redhat.com>
Date: Wed, 28 Dec 2022 14:21:51 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: "Woodhouse, David" <dwmw@...zon.co.uk>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"seanjc@...gle.com" <seanjc@...gle.com>,
Michal Luczaj <mhal@...x.co>
Subject: Re: [PATCH] KVM: x86: fix deadlock for KVM_XEN_EVTCHN_RESET
On 12/28/22 12:55, Woodhouse, David wrote:
>
> IIRC the send_port and type aren't used from hcall_send so we could
> stick those in a union with a 'next' pointer and use it to build a list
> instead of having to allocate the array (pathological worst case 32KiB).
Yeah I thought about using a list. The union is doable as you say, but
I wasn't sure if things were going to change in kvm_xen_evtchn_send later.
And the worst case is order 3, which is within PAGE_ALLOC_COSTLY_ORDER,
so I decided to go with the array which only consumes memory on reset
rather than always; it's much more likely that the array will be smaller
than a page.
Paolo
> Or if the union is a bit icky, we could just add the 'next' pointer
> unconditionally.
>
Powered by blists - more mailing lists