From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 1BA8A1DE8BB for ; Mon, 25 Aug 2025 20:06:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756152387; cv=none; b=p+QyXbJnds4PX6fvkqdl1U9mHz/7K+01LQY7aLLEr9sg2YZSADbkN5+Bz+E2H8ffZlCp3/DP65W8hLb4u04PmM5KFKjJnAM56warT3aGALqhbYfq8nBAXR77hBbW/wNBA223tw2KANGezIgZiWljW4bdykY5U6wPbae9h04KTqM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756152387; c=relaxed/simple; bh=e6UMH6C4QXeee3JknmCO2I9Y/5OAkfG/m9YVXqh8/eg=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=V8qI7rquMmMfM2Z/BaEjUUkcPEpWBKwjpNDRXrVKpg9p+leMvVDlbnw23smWcC/RXmEHfb5mezwxjYBjjHJ0v+de/39y3LRVdaXxo7DXIPfSE7SIMVKYxgJZiSMf0BUqSXeUn2b2xdqnnUUrA9BIlvrVqRgO7r0QNih9ZYAhckk= 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=U/6GKrcz; arc=none smtp.client-ip=209.85.216.73 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="U/6GKrcz" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-32515a033a6so3304017a91.2 for ; Mon, 25 Aug 2025 13:06:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1756152385; x=1756757185; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:reply-to:from:to:cc :subject:date:message-id:reply-to; bh=8pR7rIORhhha7uQoj/L4UbVHOw9HCPKdRxBVZAbw60c=; b=U/6GKrcziuMZ4ZNF4VS5URgcKX/rVLyTK/K79IwfLFkINOSFzJt4zy319jcUaT2h9Q ccQPA0lYTIIJ0XviX9VG1/lJyRUkxwojEHcTT3t70mBD4gK1/2SXChpXQGo+XBVKEFSm 9l0Mg38k6xaokP35fXia8lpIvIGuH9Sdt2sU1MqW/Wsif2bZ72FamQslTM8l88dPMphl P8rQpeqz0OlMDrViTB23fX4DtScA/gO4/EPIVgElvP6q+p5i/pgvqbuIMXQIbfMEWkXf 4UQ/IRDhQdOH41elIoduRkwttyqGLIMBs1fvkUMZi012qdf99BIqviyouvYX4e9rJMQ7 1u+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756152385; x=1756757185; h=cc:to:from:subject:message-id:mime-version:date:reply-to :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8pR7rIORhhha7uQoj/L4UbVHOw9HCPKdRxBVZAbw60c=; b=q1pajIM25U4ApPINnLNzRz2wv49VqF+7szSbjWSFzsWJ6jSF+12a1qYjY592CpfD+H ZwZg7QxkUGZ0G/3vdgcJTP3hwMqTLtg/PNhNsN/NG8/OfdFd88WDBpoGx1NgeZIgw4g5 Bp1rScCLNFRFKo1hbji9DIXWkt94OXzLPMF58Aem3/BVWj7IlgB6Xg4a/CuTXS43C+tG 7Gzy+HWOxDmiphiNhFK5XSgnXy2VwBW1g6Wf+ZykGBWUKK4SLeGNKIJaGN+/huz2UDfk UsimJQKEA5Nh8/p4962IUCd+leVO6ODdEbd9zzj72A81EAqK4zaEVBr7BGE6cFnBEuV2 L9Cg== X-Forwarded-Encrypted: i=1; AJvYcCWxGMn6LDQu+7kf2yb2GxwisATQyQTz9hkqRCsIv6zKDbZzqYDY4zjUNmd0Ob5vAa5S6orTb5tMRZRrS7I=@vger.kernel.org X-Gm-Message-State: AOJu0YyJ6WEWFBFJWhgxyqKNbO6xzq3m+mL9sC3QFga9i3FrqjbU6VoF RUfn5uvMqwyKFYa8pMNynOi/+ahZE2EmfPMduEc61giQSlobJG+gpZ7TkydCaXS5hs6f5HSuxs3 sZF+XuA== X-Google-Smtp-Source: AGHT+IEXEoKFvYTs3DYHIb6MyIfVoxfIwlslpUf6Y9Z1lNFDWyuIZVc83JO2uwlvd4IbE+BY+ZPFpeZDEbc= X-Received: from pjkk5.prod.google.com ([2002:a17:90b:57e5:b0:325:9fa7:5d07]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2ccd:b0:324:eac4:2968 with SMTP id 98e67ed59e1d1-32515ee13cdmr17210596a91.33.1756152385445; Mon, 25 Aug 2025 13:06:25 -0700 (PDT) Reply-To: Sean Christopherson Date: Mon, 25 Aug 2025 13:06:17 -0700 Precedence: bulk X-Mailing-List: linux-hyperv@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.51.0.261.g7ce5a0a67e-goog Message-ID: <20250825200622.3759571-1-seanjc@google.com> Subject: [PATCH 0/5] Drivers: hv: Fix NEED_RESCHED_LAZY and use common APIs From: Sean Christopherson To: Marc Zyngier , Oliver Upton , Catalin Marinas , Will Deacon , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Sean Christopherson , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Peter Zijlstra , Andy Lutomirski , "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Uladzislau Rezki Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-hyperv@vger.kernel.org, rcu@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Fix a bug where MSHV root partitions don't honor NEED_RESCHED_LAZY, and then deduplicate the TIF related MSHV code by turning the "kvm" entry APIs into more generic "virt" APIs (which ideally would have been done when MSHV root support was added). Assuming all is well, maybe this could go through the tip tree? The Hyper-V stuff and non-x86 architectures are compile-tested only. Sean Christopherson (5): Drivers: hv: Move TIF pre-guest work handling fully into mshv_common.c Drivers: hv: Handle NEED_RESCHED_LAZY before transferring to guest entry/kvm: KVM: Move KVM details related to signal/-EINTR into KVM proper entry: Rename "kvm" entry code assets to "virt" to genericize APIs Drivers: hv: Use common "entry virt" APIs to do work before running guest MAINTAINERS | 2 +- arch/arm64/kvm/Kconfig | 2 +- arch/arm64/kvm/arm.c | 3 +- arch/loongarch/kvm/Kconfig | 2 +- arch/loongarch/kvm/vcpu.c | 3 +- arch/riscv/kvm/Kconfig | 2 +- arch/riscv/kvm/vcpu.c | 3 +- arch/x86/kvm/Kconfig | 2 +- arch/x86/kvm/vmx/vmx.c | 1 - arch/x86/kvm/x86.c | 3 +- drivers/hv/Kconfig | 1 + drivers/hv/mshv.h | 2 -- drivers/hv/mshv_common.c | 22 --------------- drivers/hv/mshv_root_main.c | 31 ++++----------------- include/linux/{entry-kvm.h => entry-virt.h} | 19 +++++-------- include/linux/kvm_host.h | 17 +++++++++-- include/linux/rcupdate.h | 2 +- kernel/entry/Makefile | 2 +- kernel/entry/{kvm.c => virt.c} | 15 ++++------ kernel/rcu/tree.c | 6 ++-- virt/kvm/Kconfig | 2 +- 21 files changed, 49 insertions(+), 93 deletions(-) rename include/linux/{entry-kvm.h => entry-virt.h} (83%) rename kernel/entry/{kvm.c => virt.c} (66%) base-commit: 1b237f190eb3d36f52dffe07a40b5eb210280e00 -- 2.51.0.261.g7ce5a0a67e-goog