From nobody Sun Jun 14 19:03:02 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 428F6322B8C; Sat, 4 Apr 2026 19:05:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775329518; cv=none; b=UGXJ4/uznCouPwI7Yj7PoXwSiQnEf9vf63w8HWVXMuNbbDqELRUA+gACJ9SKdHzl1EH3rz576d4hb1e8wRZhyFZUswewKZS3H8pIeHnpQ18eBcnNGG4kqtag478LTw2CEjKg+HPGB2S445PQrDBMIXbIcmfN3Gj/ZZFLVbtW9us= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775329518; c=relaxed/simple; bh=LERy63uw10Ti/1rHag0ti9RnD7p3llqbaH3cK/2qRls=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=PFz9uXj0wGuLuo82neeI3tnOGws2TsKiK4myqYzayGkTXQryI9Cu4bxirrCfk3LvpxLWEsFiaR1NvhxaOWWR7nWEpMMkS+4i/pUdGTVY19myp69MByYhHk8HwbhribgE4xlwTlujF+h6NMDku4f4rIOyyHiKtq19D4VmRth86o0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=Ua95kBFq; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=YqEwqHEC; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="Ua95kBFq"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="YqEwqHEC" Date: Sat, 04 Apr 2026 19:05:07 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1775329509; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BBBdN1gNzk4PJbPhmt78pczZyKB8ulqhxAFBGCqq9AE=; b=Ua95kBFq42Jk/bOOTov5SmpRFMljQgfjQdfDIR+SzcuifFAvrlnRXotK74IQQf76kyQui7 ncNTBVFwXQ5D72y3O8RqoxiMbK9K/5GbaHkIvSFdzPwRAyX0zd2pw7CaP8wdio1V2aNnEL Hd7++EpVQCl32gA//Yjpm0Pt/pyuWw/aT158VoyTiq5jH5AwFPIw6LcA2mb3cJhy8Hd44Q NkRZ8R1vf9lNp/QrN/qnYuaXD8BQYbMU9um+2Nm0r5tl2/eqmL6CgxsDmYKEykHbFifrCA Rr2aHF0WKqxT/EqKOlTey5OqWzU3w0Ax9TwhygFXagrsB1NXjNipd7GoOFKHNQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1775329509; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BBBdN1gNzk4PJbPhmt78pczZyKB8ulqhxAFBGCqq9AE=; b=YqEwqHECGsRvi+RqOP6pIHF/6pQovOkMhAS8EMJ83Ja+pQdli/SiSJN7MRcMQCYOD/cPOj C9GiExYJAvFRUkBQ== From: "tip-bot2 for Michael Kelley" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: irq/core] Drivers: hv: Move add_interrupt_randomness() to hypervisor callback sysvec Cc: Michael Kelley , Thomas Gleixner , Wei Liu , x86@kernel.org, linux-kernel@vger.kernel.org, maz@kernel.org In-Reply-To: <20260402202400.1707-3-mhklkml@zohomail.com> References: <20260402202400.1707-3-mhklkml@zohomail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <177532950769.226963.12836520261532716084.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the irq/core branch of tip: Commit-ID: e8be82c2d77ec1bb0148406e54b105028a83537e Gitweb: https://git.kernel.org/tip/e8be82c2d77ec1bb0148406e54b105028= a83537e Author: Michael Kelley AuthorDate: Thu, 02 Apr 2026 13:24:00 -07:00 Committer: Thomas Gleixner CommitterDate: Sat, 04 Apr 2026 21:01:56 +02:00 Drivers: hv: Move add_interrupt_randomness() to hypervisor callback sysvec The Hyper-V ISRs, for normal guests and when running in the hypervisor root patition, are calling add_interrupt_randomness() as a primary source of entropy. The call is currently in the ISRs as a common place to handle both x86/x64 and arm64. On x86/x64, hypervisor interrupts come through a custom sysvec entry, and do not go through a generic interrupt handler. On arm64, hypervisor interrupts come through an emulated GICv3. GICv3 uses the generic handler handle_percpu_devid_irq(), which does not do add_interrupt_randomness() -- unlike its counterpart handle_percpu_irq(). But handle_percpu_devid_irq() is now updated to do the add_interrupt_randomness(). So add_interrupt_randomness() is now needed only in Hyper-V's x86/x64 custom sysvec path. Move add_interrupt_randomness() from the Hyper-V ISRs into the Hyper-V x86/x64 custom sysvec path, matching the existing STIMER0 sysvec path. With this change, add_interrupt_randomness() is no longer called from any device drivers, which is appropriate. Signed-off-by: Michael Kelley Signed-off-by: Thomas Gleixner Acked-by: Wei Liu Link: https://patch.msgid.link/20260402202400.1707-3-mhklkml@zohomail.com --- arch/x86/kernel/cpu/mshyperv.c | 2 ++ drivers/hv/mshv_synic.c | 3 --- drivers/hv/vmbus_drv.c | 3 --- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c index 9befdc5..a7dfc29 100644 --- a/arch/x86/kernel/cpu/mshyperv.c +++ b/arch/x86/kernel/cpu/mshyperv.c @@ -161,6 +161,8 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_hyperv_callback) if (vmbus_handler) vmbus_handler(); =20 + add_interrupt_randomness(HYPERVISOR_CALLBACK_VECTOR); + if (ms_hyperv.hints & HV_DEPRECATING_AEOI_RECOMMENDED) apic_eoi(); =20 diff --git a/drivers/hv/mshv_synic.c b/drivers/hv/mshv_synic.c index 43f1bcb..e2288a7 100644 --- a/drivers/hv/mshv_synic.c +++ b/drivers/hv/mshv_synic.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -445,8 +444,6 @@ void mshv_isr(void) mb(); if (msg->header.message_flags.msg_pending) hv_set_non_nested_msr(HV_MSR_EOM, 0); - - add_interrupt_randomness(mshv_sint_vector); } else { pr_warn_once("%s: unknown message type 0x%x\n", __func__, msg->header.message_type); diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index bc4fc19..e7ac79e 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -1361,8 +1360,6 @@ static void __vmbus_isr(void) =20 vmbus_message_sched(hv_cpu, hv_cpu->hyp_synic_message_page); vmbus_message_sched(hv_cpu, hv_cpu->para_synic_message_page); - - add_interrupt_randomness(vmbus_interrupt); } =20 static DEFINE_PER_CPU(bool, vmbus_irq_pending);