From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 50B213FE369 for ; Fri, 29 May 2026 16:51:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780073504; cv=none; b=cJBGjuR26RFG/JmZ08XE3uR4xnrOm0FoRAN/Ff6Lpx2zZCUXAwDKY3SuuedZYJpxEVOGY0h0mDPsMg/XEMKCN0G11ADFgrrkiPwUa2ChbSLZsQGoyrpZ0tkBJ3t6QrMk50Rngt9OSwHXlzlnvSYm0+P70MldpznRuu65dCIpXw8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780073504; c=relaxed/simple; bh=Po2rTZ6jokeiPCNXljM27Dn/+9t8hD9odLXpV/XvtJc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=hwvOj1FKGR4xo7GqMz6uWc1vlUzS6g4qY1DnY+3DypQhc6DAWJDiOIMDof/frJY6zADqVBcGpQgru/1O70I35i/DSpY3sD5GkChYKQ+n3o5qjEI9EaQz3TSrP80kcWcqPcqHCK1v5ZQAbRDrQxSNjvpxFXVr5H+L2rMKOn4vIco= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=LexjU8cz; arc=none smtp.client-ip=209.85.214.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="LexjU8cz" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2b99eb06178so68099865ad.2 for ; Fri, 29 May 2026 09:51:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780073497; x=1780678297; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=d6AdMaZgWz2WUUzV0Lty2KxxxU18TOhDWUp2QLry3VI=; b=LexjU8czifiWQY7nrGRSb22ddREo7elUCSYuWWnwGM4jwkHnCk3M4/U1uccr6HPI/n apZ9auctrNAbg5W6SWHoyapsY7FKqmaxdrgzKp+TRItWi1lmeN4CnL8aHpjlTTcrzLDF DLeUPdFJU2S/op29e9lbahOauWja9ATTQr3xRByMc+bWOwkdrDPWB6gq6bZsjMs12Fq7 pC+U78gekdgmKBOpEqMDdrB2tJ32ytmPqxw7Jz3VHaQ5KxeSSXHcKJZK8mF4hVIAdAiQ 4gNLf71Q67W+9XbmHLMoE44awm8BsKgVcWNg7NNVQaccTdkQLCYAaGCKpXT4aawO6E+N +E6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780073497; x=1780678297; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=d6AdMaZgWz2WUUzV0Lty2KxxxU18TOhDWUp2QLry3VI=; b=hoq8n4k8RMc+D5irIbB8Vke6Y9qovzYrnw3qngPYHEVs+UUMdIoCHSwOtRS+obvnNv r2MDWQAcN5r7CLEN6brRLaujq5X4fCFBRpmxNGUCMCkTQAPKZAIUngOcqvlTf3lDTL0i TrzcsPsf8L2aEEjQkFMuvrZJfc5F8Ujtj790Md+ICx1pGdWwFnfZ3NTVbUA5OvQ9Rnqr JGIeIfhjknODqvvUDKZhjWvxXCPeM1RxgImZSUnHVRvVRLUN4//MPfg6Wb3HxdRyJMsm jQBlQXOu9KwwQq2oW5rRudB2DnQmD2GA7xdjxlnhE1QBN/yUYoYzbt5ty1m2pnr92LIJ IeLg== X-Forwarded-Encrypted: i=1; AFNElJ+q6Ht7xyaQPbtfSRsEmlzM8qJ1Lc6SPqA9+YSo7IxGsGdKUP4XvMJvqu7YCYOrFgMR7kdeGK00jx5dLN4=@vger.kernel.org X-Gm-Message-State: AOJu0YzsraQm4DUgjZIpW3vu81w4aZe+dr7INVRaQUvB1nZ+wg+pVT6U lnwnWnUzUJoLQ9m4CSXxROlBzeDPbuT5RmTi0q3T60D4idpPjIuh11oF/u0wkK8AXERNYA5Lxw/ GuWF8qg== X-Received: from plae3.prod.google.com ([2002:a17:902:e0c3:b0:2b0:46bd:4fe5]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:d48b:b0:2bf:2114:ecbe with SMTP id d9443c01a7336-2bf36809f57mr7505715ad.23.1780073497347; Fri, 29 May 2026 09:51:37 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 29 May 2026 09:51:07 -0700 In-Reply-To: <20260529165114.748639-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260529165114.748639-1-seanjc@google.com> X-Mailer: git-send-email 2.54.0.823.g6e5bcc1fc9-goog Message-ID: <20260529165114.748639-14-seanjc@google.com> Subject: [PATCH v2 13/20] KVM: x86/xen: Don't bother waiting on gpc->lock in SCHEDOP_poll From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini , David Woodhouse , Paul Durrant , Peter Zijlstra , Ingo Molnar , Will Deacon , Boqun Feng Cc: Waiman Long , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, David Woodhouse , Sebastian Andrzej Siewior , syzbot+208f7f3e5f59c11aeb90@syzkaller.appspotmail.com, Carsten Stollmaier Content-Type: text/plain; charset="UTF-8" Use trylock instead of waiting on the gpc->lock when locking and checking the shared info page for SCHEDOP_poll, as odds are very good that if the lock is contended, then the check will fail. This will allow using the new CLASS() APIs for local gpc mappings, without having to add a version that waits on the lock, but doesn't refresh on failure. Signed-off-by: Sean Christopherson --- arch/x86/kvm/xen.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/xen.c b/arch/x86/kvm/xen.c index 065b4c92f7ed..d9b09809e243 100644 --- a/arch/x86/kvm/xen.c +++ b/arch/x86/kvm/xen.c @@ -1438,7 +1438,9 @@ static bool wait_pending_event(struct kvm_vcpu *vcpu, int nr_ports, guard(srcu)(&kvm->srcu); - read_lock(&gpc->lock); + if (!read_trylock(&gpc->lock)) + return ret; + if (!kvm_gpc_check(gpc, PAGE_SIZE)) goto out_rcu; -- 2.54.0.823.g6e5bcc1fc9-goog