| Message ID | 20260923171116.31276-11-philmd@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show
Return-Path: <qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=JlLKVw0E; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=d6mDxwga; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists1p.gnu.org; envelope-from=qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4hqkDY5GSyz1xqn for <incoming@patchwork.ozlabs.org>; Thu, 24 Sep 2026 03:17:33 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-ppc-bounces@nongnu.org>) id 1x9QWe-0004qs-Ee; Wed, 23 Sep 2026 13:12:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <philmd@oss.qualcomm.com>) id 1x9QWW-0004Yf-BN for qemu-ppc@nongnu.org; Wed, 23 Sep 2026 13:12:49 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <philmd@oss.qualcomm.com>) id 1x9QWT-0001BS-Je for qemu-ppc@nongnu.org; Wed, 23 Sep 2026 13:12:47 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68NGTu6B064025 for <qemu-ppc@nongnu.org>; Wed, 23 Sep 2026 17:12:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= kRgYgQN0I68E441Z6FdMRIvgm0ZT03zmfUCw+g3PTWg=; b=JlLKVw0ElzDUVHJK Ni43HEFvUiXP2AWV7nFngcMz22cFMlCnfoc3+t0Cwia4Y9+WP8ij4NnrPRsf5WlQ d2fP/W9B95TUiZZm4kkY/mgZU0FXrw316l2h1GQ2uWh9GKrluD8Efb039ttAcQvR qlyXktrk17DqEQmKjS6IWJOD/vACBotomCV5U3TctWS9WtsvuM09ce+4fRkWGgpC 2ObVsdFGIDUgsVd5No8Sc+lBFERhXKFM8x/g2kBYLaep+IvCfhqpghNlq9Jl+WOa a0PL2SbXfeqG+A4qIDdVhN+5zMmsM0CdKerhtZ0069dlQVaRdpHeCweCk9UTfvbi td8HwQ== Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4gvfkbh15r-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for <qemu-ppc@nongnu.org>; Wed, 23 Sep 2026 17:12:34 +0000 (GMT) Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-7847917c402so995641137.2 for <qemu-ppc@nongnu.org>; Wed, 23 Sep 2026 10:12:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1790183553; x=1790788353; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=kRgYgQN0I68E441Z6FdMRIvgm0ZT03zmfUCw+g3PTWg=; b=d6mDxwgaJeZOCENJsn+KJ0BsyBNyb0L21h+xIVq4OuoVzu/rYeQJneCGAmQAA/Vs8m jfT7JdgpG6K2N78mTcMKVOxC/MtjcTHsYO7vrFWvxoTsNn/IQyRHARrAfobRxFs9zMjF 3LcP7hNQh1s8mzQ/40Jyk9KwAM89Zxz8wmy7iqgpo5iPQNPkJz0DIp3l7JL4MWbvZf4m RTcpmcjGtgEE6DJ3rox07badJkHG5Uc4ITyXjpvQCk+ajD3NJkhzSedbc8Nd8jDEmn/k aaBrUQg4zM6d9kYZ2yUJXoCP3tyhPSxCoV30geYQFC8Irgq1xxgDrwA2/CMX8U5QX0uT vmfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790183553; x=1790788353; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=kRgYgQN0I68E441Z6FdMRIvgm0ZT03zmfUCw+g3PTWg=; b=Id9KnLXq3TeDMUTqYZy1Y8UgpOvSF2d3ot9g8X65Dj3tq2s6hhNIs9ohqfWt7aqZwB SWvcvUiZK8b2giiCO+zfnzxLDLT5XhDwwUpQUGKaC1gPVl+a86aP+EfO5Pz5ouqcGBHr ph98a6fzV7jwxrE3k2rhChnp5G5NVrfEv4HdW3ItW9ZEf6i+hwnpvatVNLwMWw+3a7rW 93c7bCQleciAdg2MOkeZfrnEcD3uJ/MZBef8Ebp72OQz7ICVNsP2Ch8bZ6LuCH6ufKDY KtbvOK2mrdeuOZC88Byg3eMQx4d4FQp05Z0cSS3Y5rjVOZ081t01MjA7iJHTxmup5D2g Mg3w== X-Forwarded-Encrypted: i=1; AKwUvBxjUdYfV6VWufNvX90iufzq8nGwBtMmPHOJoA2d+fwsmBmdH/fKTzZDTbWOCUn52hXMHczX6mNFzw==@nongnu.org X-Gm-Message-State: AFuF++khRdj0oDzBkKtaT3qyERfCQCS6U8kQMCbhYMXhGLRz/faAjguQ JUTF8NzwvSVoxqCos4Up/3WYFDqXrweJqm+oSOaY2q5//VLUz/+tGfOokhHKLTkm5Ppd5qj1roo zEjm6RQnI1QBKPh8t0QSaq6kXqRm7yVePIoivz1PWb5GmL88YQQvwhyo= X-Gm-Gg: AYBFou2jc/03nUd905jk+EjygKuyVIxv+4MM6p7y4/HQQ9PAvZLch/dGpuRrPxGgkJ5 +JaantC9HKCXoRugCoJhGAQ37CvV3RSejSNQBd3Gi13JQ+xgmkJyOXMigynunS2kKxjwiz4kCl8 2WLiDz7hZPiYScGM0bZRwkp4cVy2Lyyc+TbU0Nu/dbJifVS9lFHuPXG1n3NvZu20PBD5n98o+7D YXIblukiTjgtwMbauztUP51Jtln0FC4okq93hllCYTJXsB/OzOEHIdWLtPMNgxkgoTak60ak99U rlBkTuTYBB/aDSmdzITfiFctqMKHw1OM71HddMM0FJJOU/SBn3gdp5xOE2WHqn06S2s1BchtYqM 8NMNk15vK4flCt5JPFWZ8rAxSdAUNgVNM4WujApj3 X-Received: by 2002:a05:6102:6886:b0:7a1:f951:664c with SMTP id ada2fe7eead31-7ac1c78da3amr2579085137.19.1790183553507; Wed, 23 Sep 2026 10:12:33 -0700 (PDT) X-Received: by 2002:a05:6102:6886:b0:7a1:f951:664c with SMTP id ada2fe7eead31-7ac1c78da3amr2579062137.19.1790183553101; Wed, 23 Sep 2026 10:12:33 -0700 (PDT) Received: from localhost.localdomain (pmd666.hd.free.fr. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4886848646dsm7548518f8f.10.2026.09.23.10.12.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 23 Sep 2026 10:12:32 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@oss.qualcomm.com> To: qemu-devel@nongnu.org Cc: qemu-s390x@nongnu.org, qemu-ppc@nongnu.org, qemu-arm@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, qemu-riscv@nongnu.org, Richard Henderson <richard.henderson@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= <philmd@oss.qualcomm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu@processmission.com> Subject: [PATCH v3 10/21] target/riscv: Skip empty MIP updates Date: Wed, 23 Sep 2026 19:11:04 +0200 Message-ID: <20260923171116.31276-11-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260923171116.31276-1-philmd@oss.qualcomm.com> References: <20260923171116.31276-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIzMDA2OCBTYWx0ZWRfX8mpHkrEiAmix 7u1gJFLwoajc8UWHaWe4EiJ6PhZUweHQzFcisFX25o0K+8ogWhUOo/JmRp+VfZTqVaAzE6EKd2I ks4SR5SWb6nV6iUzxMS/aXY95q6b0DY= X-Proofpoint-GUID: X6jQ1KXyeGfN0tDt7IDaHS19KemK0u-u X-Authority-Analysis: v=2.4 cv=RYMFmFtv c=1 sm=1 tr=0 ts=6ab40882 cx=c_pps a=P2rfLEam3zuxRRdjJWA2cw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=EurB-bMe9Chw_IDMuCwA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ODZdjJIeia2B_SHc_B0f:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIzMDA2OCBTYWx0ZWRfX0KCB6xf21ICM is4TdEW9c2n+cQalFjA0NARg3+BKDfBgbYKGy/KmpvYKeA6gzqpKjUNW/BxhGWeXUEj+bk83HQQ H2NJURo303VzXPW2mi7K6/Eb8rt8Pi+7WVxqI4iuipkcnjvlHogf9nHjhkAnEU9zj3vI+esds9R tVluppbYYXAvhpfQhfgx5PY4xHnk/rWdhJ8624kyGtV4+CD0sknGU/DLElVGEg2hd16xZO4uq7L My8zZAFU4iI15/MbN5Qn6VDEdPMPhVpE42f5rZaivTYCPs6VVXff9fjVe4GinkRIGaFT1jPFr6p MLrX+1RpIfnqtnsGchA56byhJTMomP6Q3psOCGKVv8OYhqrB/RcwjeAk3TME0PV+FiJNskkUEjE 3aIUhOvVgbsW6GemuWkDwJjIi9jM4/133tIfSykwQEZLluqjlC1krZmdIVdGNzJryUwhCeILKEh H+vJ+7+fPEy1gP7/Oeg== X-Proofpoint-ORIG-GUID: X6jQ1KXyeGfN0tDt7IDaHS19KemK0u-u X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-23_06,2026-09-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 phishscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609230068 Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-ppc@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: <qemu-ppc.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-ppc>, <mailto:qemu-ppc-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-ppc> List-Post: <mailto:qemu-ppc@nongnu.org> List-Help: <mailto:qemu-ppc-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-ppc>, <mailto:qemu-ppc-request@nongnu.org?subject=subscribe> Errors-To: qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org |
| Series |
accel/tcg: Make halt-to-exec transition explicit and remove cpu_exec_halt
|
expand
|
On 9/23/26 10:11, Philippe Mathieu-Daudé wrote: > Return early when the effective mask is zero. This avoids taking > the BQL and processing interrupts when riscv_cpu_update_mip() > cannot change env->mip. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> This breaks the usage in riscv_cpu_set_mode. One could argue that should be calling riscv_cpu_interrupt directly, but you'd want to examine locking as well. > /* No need to update mip for VSTIP */ > mask = ((mask == MIP_VSTIP) && env->vstime_irq) ? 0 : mask; > + if (!mask) { > + return old; > + } If this is kept in some way, this should be written as if (!mask || (mask == MIP_VSTIP && env->vstime_irq)) { return env->mip; } Note that there is an existing bug in which the returned 'old' is fetched before the bql lock is taken. Note as well that the existing mip update statement doesn't use 'old', but could if it were fetched at the right time. r~
diff --git a/target/riscv/tcg/cpu_helper.c b/target/riscv/tcg/cpu_helper.c index 07d92226527..be64f9ee8f2 100644 --- a/target/riscv/tcg/cpu_helper.c +++ b/target/riscv/tcg/cpu_helper.c @@ -580,6 +580,9 @@ uint64_t riscv_cpu_update_mip(CPURISCVState *env, uint64_t mask, uint64_t value) /* No need to update mip for VSTIP */ mask = ((mask == MIP_VSTIP) && env->vstime_irq) ? 0 : mask; + if (!mask) { + return old; + } BQL_LOCK_GUARD();
Return early when the effective mask is zero. This avoids taking the BQL and processing interrupts when riscv_cpu_update_mip() cannot change env->mip. Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> --- target/riscv/tcg/cpu_helper.c | 3 +++ 1 file changed, 3 insertions(+)