[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2c52daad-0b64-48a9-8e73-d1aba977993b@amd.com>
Date: Fri, 23 May 2025 12:53:19 +0530
From: Sairaj Kodilkar <sarunkod@....com>
To: Sean Christopherson <seanjc@...gle.com>, "K. Y. Srinivasan"
<kys@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com>, Wei Liu
<wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>, Juergen Gross
<jgross@...e.com>, Stefano Stabellini <sstabellini@...nel.org>, Paolo Bonzini
<pbonzini@...hat.com>, Ingo Molnar <mingo@...hat.com>, Peter Zijlstra
<peterz@...radead.org>, Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot
<vincent.guittot@...aro.org>, Shuah Khan <shuah@...nel.org>, Marc Zyngier
<maz@...nel.org>, Oliver Upton <oliver.upton@...ux.dev>
CC: <linux-kernel@...r.kernel.org>, <linux-hyperv@...r.kernel.org>,
<xen-devel@...ts.xenproject.org>, <kvm@...r.kernel.org>,
<linux-kselftest@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>,
<kvmarm@...ts.linux.dev>, K Prateek Nayak <kprateek.nayak@....com>, "David
Matlack" <dmatlack@...gle.com>
Subject: Re: [PATCH v3 13/13] KVM: selftests: Add a KVM_IRQFD test to verify
uniqueness requirements
On 5/23/2025 5:22 AM, Sean Christopherson wrote:
> +
> +int main(int argc, char *argv[])
> +{
> + pthread_t racing_thread;
> + int r, i;
> +
> + /* Create "full" VMs, as KVM_IRQFD requires an in-kernel IRQ chip. */
> + vm1 = vm_create(1);
> + vm2 = vm_create(1);
> +
> + WRITE_ONCE(__eventfd, kvm_new_eventfd());
> +
> + kvm_irqfd(vm1, 10, __eventfd, 0);
> +
> + r = __kvm_irqfd(vm1, 11, __eventfd, 0);
> + TEST_ASSERT(r && errno == EBUSY,
> + "Wanted EBUSY, r = %d, errno = %d", r, errno);
> +
> + r = __kvm_irqfd(vm2, 12, __eventfd, 0);
> + TEST_ASSERT(r && errno == EBUSY,
> + "Wanted EBUSY, r = %d, errno = %d", r, errno);
> +
> + kvm_irqfd(vm1, 11, READ_ONCE(__eventfd), KVM_IRQFD_FLAG_DEASSIGN);
> + kvm_irqfd(vm1, 12, READ_ONCE(__eventfd), KVM_IRQFD_FLAG_DEASSIGN);
> + kvm_irqfd(vm1, 13, READ_ONCE(__eventfd), KVM_IRQFD_FLAG_DEASSIGN);
> + kvm_irqfd(vm1, 14, READ_ONCE(__eventfd), KVM_IRQFD_FLAG_DEASSIGN);
Hi Sean,
I dont see any allocation for the GSI 13 and 14..
Is there any reason for the deassigning these two GSIs ?
Regards
Sairaj Kodilkar
> + kvm_irqfd(vm1, 10, READ_ONCE(__eventfd), KVM_IRQFD_FLAG_DEASSIGN);
> +
> + close(__eventfd);
> +
> + pthread_create(&racing_thread, NULL, secondary_irqfd_juggler, vm2);
> +
> + for (i = 0; i < 10000; i++) {
> + WRITE_ONCE(__eventfd, kvm_new_eventfd());
> +
> + juggle_eventfd_primary(vm1, __eventfd);
> + juggle_eventfd_primary(vm2, __eventfd);
> + close(__eventfd);
> + }
> +
> + WRITE_ONCE(done, true);
> + pthread_join(racing_thread, NULL);
> +}
Powered by blists - more mailing lists