From nobody Fri Dec 19 21:10:52 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 2E0362798EA for ; Tue, 27 May 2025 14:24:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355892; cv=none; b=V3dEOUCT6cxxj5Taiu4dgx7lgn367QU7EbbSo4Lh2pD+IXD4zK+voqTtjx1m12hh6RbTEFLJFen3/zG2L295ks7COwE873E5W5P/8+Libghk8sgzMlxyMsLyPBwq5w6a/kLpzvWG8uWNpjRn3PYhL4/i8nrH0PRPMNowgi+MB68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355892; c=relaxed/simple; bh=VzQyPkruYWrDZAOkmL/UT3N0xShjKnGR9pQJo0jQ/Qk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ebsgMFyyFqrhEb+3dW+EOfLsn03asjk8QmV71MeUi169m+tP9f3Lhcetf2QC2US0+h0mE8KR+wRSNzOFar+vKVpmwCtyri2TB34U5byUfwO17HENWnn3Lc6POhGWpCBYE75V6C3jfKYxxa0DUI6KJa+KV/XzJWbX8KAqsI6PSj8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=isNa4KZP; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="isNa4KZP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1748355890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AdRsO2Uefrz8JMO751IFZEkS7KH/EcFqwNDUBdHYAOY=; b=isNa4KZPJ+VcGx5frg6XDT2aeQuCkcjf7q/qz7kVN7I5Rnqwb5LCSvTVCsD/0WbRHj4KFH EzeohJ4+ScecvrX8JENo1MQjKYEv8sUFOBlPg4jBcehzlz1QjAHc0HSE5p3+bBAEMm+QYB eBue7dM1Lb6STGcDg+2eGcy4LB6SYDI= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-595-bSzCGlofNZWSY0a_gsoM7A-1; Tue, 27 May 2025 10:24:45 -0400 X-MC-Unique: bSzCGlofNZWSY0a_gsoM7A-1 X-Mimecast-MFC-AGG-ID: bSzCGlofNZWSY0a_gsoM7A_1748355885 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-43eed325461so22322205e9.3 for ; Tue, 27 May 2025 07:24:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748355884; x=1748960684; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AdRsO2Uefrz8JMO751IFZEkS7KH/EcFqwNDUBdHYAOY=; b=rFk1xQbwHjETWg5oAsV4cEzB8mzydhAAdAuXtyg4/DK/8mKd1TeVKum9wjzvFcwFp1 XWRJ14dXW6OozhBaW3W06rlseGy0MeU64OLlXiq1mOWtACYPVLZUEtOfvP2XAKuWIeWI e2hTaqwvI5JQEfww3uvItv5z3kcZ8qSbLOKlapttr/ih0QGsej/d5zsH4sSqgxGhq5na LDTqx1HITyCpNpSHd3AwJjs0A2KuRWoE7gZpYERZLrYPp5Czmmgr7KI6CURmJyG2BfKL me3vNylLiqeZbyhFo9xn4ozRSz9Q714TkgK/Qx4ZvoWSL74wBi2QCXiTjOmfizsF2Jfm Okfw== X-Forwarded-Encrypted: i=1; AJvYcCWdnwSaQbUIw/c9/qzhusYYPL93QhdbZ5tvOf7Nixt5Fr0/D+l5pZnxk58NrGYk0ED+0HwbDDPM6+cV7Xw=@vger.kernel.org X-Gm-Message-State: AOJu0YxcU+jcaZbIGjMEOurzmAktc30vywClUqnRxzp1ieKa1tOs4xYO Caifc3N/Q5LsPNvESf/0eOATUEmTXhwxCHIKidMvaO7lpNQX++L9voGT4k+MfFqwrFg6EX8henA 0XFevT6aWIqHK63s/2AsoV6ORJjdIauaIcScubFnNQddQf0PS7COkGDFCUTftF0eMUQ== X-Gm-Gg: ASbGnctCXxX5U0GrtPjLWvWVveCNmsCg19F5RVdiYrTcpqqxBaHHZBGkHLAYigyRWps QlKxSGmhraaCiXS8pp7KVPbvUlSXaWmoQSRs7NI608D0ivh6vKKpNUyKY/zz1B/Fru8kceNe8kj eXv/5QjeKEyBfX22Kn5klejpGmsDG+iBfJYQymatQfHk9ck9UfY0N2CLHqNhTW1tnEHysdXPCnP lgKWrT/V5cVXFA2oYjcEF6PxjpMRymQxDBGzwy9Dt3UPKD6AnyCo/yZZkmZmy6b1RePzEvzt2I0 ukBwPaAk7uY18VHtF5obq1+l+INN5wM6LJ9ryLsFn7rMX+Jz3oNnGtoCW/Fw8ZzzaTWi4Ikzhg= = X-Received: by 2002:a05:600c:35d3:b0:43d:4e9:27ff with SMTP id 5b1f17b1804b1-44c93016587mr106055835e9.7.1748355884572; Tue, 27 May 2025 07:24:44 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGA8HR0A+QTW5CLIzzWpCQrdDEVxcSOCyoGFkafJofsp5nJGXbEA7AFPSlzJnet1RbsnO2sOA== X-Received: by 2002:a05:600c:35d3:b0:43d:4e9:27ff with SMTP id 5b1f17b1804b1-44c93016587mr106055565e9.7.1748355884133; Tue, 27 May 2025 07:24:44 -0700 (PDT) Received: from rh.fritz.box (p200300f6af1bce00e6fe5f11c0a7f4a1.dip0.t-ipconnect.de. [2003:f6:af1b:ce00:e6fe:5f11:c0a7:f4a1]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d3edcsm278766415e9.20.2025.05.27.07.24.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 May 2025 07:24:43 -0700 (PDT) From: Sebastian Ott To: Marc Zyngier , Oliver Upton Cc: Colton Lewis , Ricardo Koller , Joey Gouly , Suzuki K Poulose , Zenghui Yu , Shuah Khan , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Sebastian Ott Subject: [PATCH v2 1/3] KVM: arm64: selftests: fix help text for arch_timer_edge_cases Date: Tue, 27 May 2025 16:24:32 +0200 Message-ID: <20250527142434.25209-2-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250527142434.25209-1-sebott@redhat.com> References: <20250527142434.25209-1-sebott@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fix the help text for arch_timer_edge_cases to show the correct option for setting the wait time. Signed-off-by: Sebastian Ott --- tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c b/to= ols/testing/selftests/kvm/arm64/arch_timer_edge_cases.c index a36a7e2db434..c4716e0c1438 100644 --- a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c +++ b/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c @@ -986,7 +986,7 @@ static void test_print_help(char *name) pr_info("\t-b: Test both physical and virtual timers (default: true)\n"); pr_info("\t-l: Delta (in ms) used for long wait time test (default: %u)\n= ", LONG_WAIT_TEST_MS); - pr_info("\t-l: Delta (in ms) used for wait times (default: %u)\n", + pr_info("\t-w: Delta (in ms) used for wait times (default: %u)\n", WAIT_TEST_MS); pr_info("\t-p: Test physical timer (default: true)\n"); pr_info("\t-v: Test virtual timer (default: true)\n"); --=20 2.49.0 From nobody Fri Dec 19 21:10:52 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 E7A8F2797B8 for ; Tue, 27 May 2025 14:24:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355891; cv=none; b=F2M0RyfPeh/QYuwxQ9FBqq6e+YFkMq+P5rfl/6emjWtCkjrKmgcm96uw3yAt+wPnRsUxJlH52YY/K9cyrYdkrD9bVu2alZmxODk5a26ni0aPgeaidcAElnqWDISnu5WapZZOGZikXo6q4SSiABwcPK4auxZIFXcWpl5B2pgS6RU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355891; c=relaxed/simple; bh=cOsu4Qrb+3bx73g5aMRxtPG7+Gkx5amoz9G8WVXNU9c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ka2R2JhMqC2lOKJ85mUaY9gJlieHsURJp3WiRcYTs2L4Gs4mlVxvtCNn8lqelwa7kV7dfIzPk2SJagk9Wvk4ZpJ4kRQH/DbOR4oh4/UaOaqYyVXM8pypDpdZQOTe+YYt1BHKRK4Q037HBmeSPP0jrk1tRaNKKRD3A5ZtbBgN6NA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=WDD7bW9l; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="WDD7bW9l" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1748355888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HiFig5XrzaKxrne/VffAS5Dccms79XHv1+bktez4Dgg=; b=WDD7bW9l27QRMMxEkn+2O5SeONz9lkBJzDxV6MFyhvabS/lsD0tbIBU/VAF2T2ZXbAsTVA 6ArA1DRH8PsE2VRGobrbsy3XZFVWGYlwwrgHa9qYISNy89Q08X/I1rTEL5P/ms/nSneLEc 6Wlclr3ttp/bWNG6LCEMktB6IerLQLE= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-148-6HzxuXsUMJuAzH9yZl1D2w-1; Tue, 27 May 2025 10:24:47 -0400 X-MC-Unique: 6HzxuXsUMJuAzH9yZl1D2w-1 X-Mimecast-MFC-AGG-ID: 6HzxuXsUMJuAzH9yZl1D2w_1748355886 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-43efa869b19so22072495e9.2 for ; Tue, 27 May 2025 07:24:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748355886; x=1748960686; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HiFig5XrzaKxrne/VffAS5Dccms79XHv1+bktez4Dgg=; b=fgD42zSu1nShwfpa7RkwDyFFVdk2O/KtoO2RTAur1DXH/sRV1yPk4T1zBr+fGo2rHT bOiQ84y8tNUrNCRa42h2xzDtASdIXfHVo10qfr9/LAhbOwdaASsH5ahYvuY5+ml5qMR0 zie8rzIiKoBrg4quE9tJ/Ldzs9dHLA6Ca7H5BZiJJtN5e3tfTLt+5ipAjUdsAAetzbXi TxLN2FHhJ8Pd5ALhT1yqmooOXg75OFoPVtUpqUkqA0LPNYJU8GtzYxmQ9XUPC7wEy4ya q0hQZS7ancMYgLtvH04XIUVfGtZYpsoxqsdF3zeOtNb2ox4wGRj0NP8zPtQ+nMzUsLXu sjlQ== X-Forwarded-Encrypted: i=1; AJvYcCUYsjiCdetHC5nWaJ9x65WLjMUQ+DgX8blwETAOiwnwDp1q5W7aQZMNvK1zPUAUpFdJ8vSjdGnbjGXjpqE=@vger.kernel.org X-Gm-Message-State: AOJu0YxIFeT+oTWYWEeqVDwx/pHnpv9pHOis3wast6EMNqheFs4Dy380 Phc2DUy0EnILqU8mhHHTcUXwsaDEFAzkxBf3gTRaI8qZHflBu3Khk/sSAgFzpaH/mQ0WJ+L9549 IT9FHYKGMhdFJ9NAL6Js1+W7SpJKm9jkIcO844NEEIrARDF/e0k5vKgjKuf4Zi5BPlg== X-Gm-Gg: ASbGnctFdn+tJsqeuTr1WQbR+nxVUELb7Uaezl4O6/GpkN+ilOtR5a/atATgAMZ6w7A OALyyMziCw+oiCbhNp6BoXFyclsCBL3W8NlBs4VLUcRFFoNdnx2VvjquPVmNnAcWEdzfC8XFflr ZYoY0Fu5BRSiEM98c3Vojr/Y4NAy+lgjFrLP6HU1s9DRgGzUGtA/SbsxUAN55+fpWtwX1sjhNFa Z+DULV60zrAXzoAO3ZoCe2sFF8mPTnSk+vAaKGgr7gBFsjmgtJh1kVJBg4ImJp3OAfqLdqgBz4h sCm1LwGjzeSWmwgYOahIHGCfRMw+JOve084e5sh/vjRf2Gxx5NVeHJ/Aj9kx1ao1+pQj5BMWew= = X-Received: by 2002:a05:600c:5120:b0:43d:683:8cb2 with SMTP id 5b1f17b1804b1-44c94374ed0mr124870035e9.14.1748355886251; Tue, 27 May 2025 07:24:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IELzaCUvaTNc9Adiu9Az9zHtuATeQC88HKSvkrZ4YDOc4EmiLqQ4b0pQxQ8ybi5Fu++RvO9Hg== X-Received: by 2002:a05:600c:5120:b0:43d:683:8cb2 with SMTP id 5b1f17b1804b1-44c94374ed0mr124869595e9.14.1748355885791; Tue, 27 May 2025 07:24:45 -0700 (PDT) Received: from rh.fritz.box (p200300f6af1bce00e6fe5f11c0a7f4a1.dip0.t-ipconnect.de. [2003:f6:af1b:ce00:e6fe:5f11:c0a7:f4a1]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d3edcsm278766415e9.20.2025.05.27.07.24.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 May 2025 07:24:45 -0700 (PDT) From: Sebastian Ott To: Marc Zyngier , Oliver Upton Cc: Colton Lewis , Ricardo Koller , Joey Gouly , Suzuki K Poulose , Zenghui Yu , Shuah Khan , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Sebastian Ott Subject: [PATCH v2 2/3] KVM: arm64: selftests: fix thread migration in arch_timer_edge_cases Date: Tue, 27 May 2025 16:24:33 +0200 Message-ID: <20250527142434.25209-3-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250527142434.25209-1-sebott@redhat.com> References: <20250527142434.25209-1-sebott@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" arch_timer_edge_cases tries to migrate itself across host cpus. Before the first test it migrates to cpu 0 by setting up an affinity mask with only bit 0 set. After that it looks for the next possible cpu in the current affinity mask which still has only bit 0 set. So there is no migration at all. Fix this by reading the default mask at start and use this to find the next cpu in each iteration. Signed-off-by: Sebastian Ott --- tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c b/to= ols/testing/selftests/kvm/arm64/arch_timer_edge_cases.c index c4716e0c1438..a813b4c6c817 100644 --- a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c +++ b/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c @@ -849,17 +849,17 @@ static void guest_code(enum arch_timer timer) GUEST_DONE(); } =20 +static cpu_set_t default_cpuset; + static uint32_t next_pcpu(void) { uint32_t max =3D get_nprocs(); uint32_t cur =3D sched_getcpu(); uint32_t next =3D cur; - cpu_set_t cpuset; + cpu_set_t cpuset =3D default_cpuset; =20 TEST_ASSERT(max > 1, "Need at least two physical cpus"); =20 - sched_getaffinity(0, sizeof(cpuset), &cpuset); - do { next =3D (next + 1) % CPU_SETSIZE; } while (!CPU_ISSET(next, &cpuset)); @@ -1046,6 +1046,8 @@ int main(int argc, char *argv[]) if (!parse_args(argc, argv)) exit(KSFT_SKIP); =20 + sched_getaffinity(0, sizeof(default_cpuset), &default_cpuset); + if (test_args.test_virtual) { test_vm_create(&vm, &vcpu, VIRTUAL); test_run(vm, vcpu); --=20 2.49.0 From nobody Fri Dec 19 21:10:52 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 CCA0527A12C for ; Tue, 27 May 2025 14:24:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355896; cv=none; b=Gf8Oz+79U1IA1TDgTeTsYm7UbSYTl59rbopCelAuC9XlYE4/OYcY2tOZcwZ7LT6epKBr5KEnAlMI1+gV2+vH9zHbTxg+4on6IjwUdbilOm1TW3dLcl2ZPEzV1Pjn4LTB276HSxsXZdZ0iPJUhKB4jCAZd1TkAI5zrPOwElTeYi4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355896; c=relaxed/simple; bh=ocRxSy5EJXKWPp1wtDInyrXbEN2m5DHwoDq0BP3WbmY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LkosekmyZKjsqSvUw8brM7MdVcFTVxQ83iJTkTX+T5dz2knWvPwm5hqksND/ZfVYzkQV9CREd37R8q4WAvVLIAcSoVN9+oUx1HWvUmPYDTp1uIrGBtIBFeNPoQKhu7OOIj/5ZuTPkWV526aHiIe0a6jbb3xtjwbcC4nofknUrlE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=WOH5HNPh; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="WOH5HNPh" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1748355893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=unMc8iAgdhI+llHDkqJsAFL7ZbF0O8Lqzu9ojtHqeJA=; b=WOH5HNPhl9KDqlcP9ut1i7i7HWalafSICdN6ycYAGLIzR55AYDMkNxOeFjoAlpHooJAT6J jjRSVoGOtehzFS9/rFb/3d9jpY0kgCsK1jqKEl8KOyXaaaLORZo/fFkhMY15voSREqkb9o BHEqJ6YzJD6erD0F3tBAxTG30Kzgwgk= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-609-aQGG60E-MBG7TTR4Tdpy5Q-1; Tue, 27 May 2025 10:24:49 -0400 X-MC-Unique: aQGG60E-MBG7TTR4Tdpy5Q-1 X-Mimecast-MFC-AGG-ID: aQGG60E-MBG7TTR4Tdpy5Q_1748355888 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4d5e1af1fso1086378f8f.1 for ; Tue, 27 May 2025 07:24:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748355888; x=1748960688; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=unMc8iAgdhI+llHDkqJsAFL7ZbF0O8Lqzu9ojtHqeJA=; b=kraPR56jOW/RvBp/gIvsOriMysIMt6WUal2BWiygAtxKHvgY7gjAr//PJV+/NidTVq uz3grMOLgGzbNm/eqnW7PFnNAzks1WBuWqRGLZuhGPJxHPsQ0UozH2Pa4ieMGWCGNpkl HTpesbdxw5O3lOyMRLETKi1g7R9bkccP5hDSj5xvGH3lmDet8RzPIephi5PRE+b/Py05 jgtRxsAXHRTfZaYzklyjiipchwnNHVP/BNs+CxYrhdrsd0zcyRIUk0OnQK9webfYYMIX w4SoA5Kx+ElNdsox7vkn53bCoFqskmW6BHAhTHjcX6asnD6kG+4NGiCF0oYlK3XiM9dh llWg== X-Forwarded-Encrypted: i=1; AJvYcCXPPIqpowp8IPOKNG9+KKuB9VoQtjqGyng2n2MaqBncKW7VSIUsdGxoUMhtq0LiWXBE0llQmAkjn315Zjc=@vger.kernel.org X-Gm-Message-State: AOJu0YxAMBzNGayg4T2Om1ayChRKHQWeuAM1OqDqlTTQohXYJMt2Zw4G c+HhHbp5v6cMjpyVqbu0HiWw7EP0+hENKtZsP0e22D6plfRP1af010fNy2AQwIT0YFhYG720Ahs nDea9WWw5js5wbTPoYaMeNO555mCdk2T2bFPZR520QE3uYkcyB7q57hP9j5Ahmor2eA== X-Gm-Gg: ASbGncvOD0H/NvfniqmkOgaTHJYtvY4lEoBJa9uTPehQQ1gx91XHrsVjRrLFB2vjEgU r9viCBpnfVMGuS9v6dAlvTXcaoMcLxGXqlC5gU8JGjZCtBr5uGVtge6ATFbDPoox1rK9+wlQ/CE rKBoDye4z2kKX/0F5wojMSvai8Izu8ilB0/kz6NEvxegVXfjQn71uOdz2VPTD4DzMz2T+wqU3mt pKzkxH0P78EMLNqEnBMUSKWTKiGZBYnChn4VWw6L0mPB4QxtwO+JsKpydXWs78AtE/XqexSE1mq BOv2XoYZYEvqieHIWW6isSVSnhZktLl7VYQUNXqUG4+kLh0LkvpQe8vpZRaBvNX+EKZh2DkyrA= = X-Received: by 2002:a5d:5f55:0:b0:3a4:e1ea:3b38 with SMTP id ffacd0b85a97d-3a4e5e5d241mr1030436f8f.7.1748355887864; Tue, 27 May 2025 07:24:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IED6cDk0pjU6x3lxG7ezTVdoW3wzIGaXlNoiosT7cd0gwNQ04WLe8XIloW7vpZA7k37aWMp8g== X-Received: by 2002:a5d:5f55:0:b0:3a4:e1ea:3b38 with SMTP id ffacd0b85a97d-3a4e5e5d241mr1030399f8f.7.1748355887452; Tue, 27 May 2025 07:24:47 -0700 (PDT) Received: from rh.fritz.box (p200300f6af1bce00e6fe5f11c0a7f4a1.dip0.t-ipconnect.de. [2003:f6:af1b:ce00:e6fe:5f11:c0a7:f4a1]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d3edcsm278766415e9.20.2025.05.27.07.24.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 May 2025 07:24:47 -0700 (PDT) From: Sebastian Ott To: Marc Zyngier , Oliver Upton Cc: Colton Lewis , Ricardo Koller , Joey Gouly , Suzuki K Poulose , Zenghui Yu , Shuah Khan , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Sebastian Ott Subject: [PATCH v2 3/3] KVM: arm64: selftests: arch_timer_edge_cases - determine effective counter width Date: Tue, 27 May 2025 16:24:34 +0200 Message-ID: <20250527142434.25209-4-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250527142434.25209-1-sebott@redhat.com> References: <20250527142434.25209-1-sebott@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" arch_timer_edge_cases uses ~0 as the maximum counter value, however there's no architectural guarantee that this is valid. Figure out the effective counter width based on the effective frequency like it's done by the kernel. Note that the following subtest only worked since the counter initialized with CVAL_MAX would instantly overflow (which is no longer the case): test_set_cnt_after_cval_no_irq(timer, 0, DEF_CNT, CVAL_MAX, sm); To fix this we could swap CVAL_MAX for 0 here but since that is already done by test_move_counters_behind_timers() let's remove that subtest. This also serves as a workaround for AC03_CPU_14 that led to the following assertion failure on ampere-one machines: =3D=3D=3D=3D Test Assertion Failure =3D=3D=3D=3D arm64/arch_timer_edge_cases.c:169: timer_condition =3D=3D istatus pid=3D11236 tid=3D11236 errno=3D4 - Interrupted system call 1 0x0000000000404ce7: test_run at arch_timer_edge_cases.c:938 2 0x0000000000401ebb: main at arch_timer_edge_cases.c:1053 3 0x0000ffff9fa8625b: ?? ??:0 4 0x0000ffff9fa8633b: ?? ??:0 5 0x0000000000401fef: _start at ??:? 0x1 !=3D 0x0 (timer_condition !=3D istatus) Link: https://lore.kernel.org/kvmarm/ac1de1d2-ef2b-d439-dc48-8615e121b07b@r= edhat.com Link: https://amperecomputing.com/assets/AmpereOne_Developer_ER_v0_80_20240= 823_28945022f4.pdf Signed-off-by: Sebastian Ott --- .../kvm/arm64/arch_timer_edge_cases.c | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c b/to= ols/testing/selftests/kvm/arm64/arch_timer_edge_cases.c index a813b4c6c817..1e3e36d869d4 100644 --- a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c +++ b/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c @@ -22,7 +22,8 @@ #include "gic.h" #include "vgic.h" =20 -static const uint64_t CVAL_MAX =3D ~0ULL; +/* Depends on counter width. */ +static uint64_t CVAL_MAX; /* tval is a signed 32-bit int. */ static const int32_t TVAL_MAX =3D INT32_MAX; static const int32_t TVAL_MIN =3D INT32_MIN; @@ -30,8 +31,8 @@ static const int32_t TVAL_MIN =3D INT32_MIN; /* After how much time we say there is no IRQ. */ static const uint32_t TIMEOUT_NO_IRQ_US =3D 50000; =20 -/* A nice counter value to use as the starting one for most tests. */ -static const uint64_t DEF_CNT =3D (CVAL_MAX / 2); +/* Counter value to use as the starting one for most tests. Set to CVAL_MA= X/2 */ +static uint64_t DEF_CNT; =20 /* Number of runs. */ static const uint32_t NR_TEST_ITERS_DEF =3D 5; @@ -732,12 +733,6 @@ static void test_move_counters_ahead_of_timers(enum ar= ch_timer timer) test_set_cnt_after_tval(timer, 0, tval, (uint64_t) tval + 1, wm); } - - for (i =3D 0; i < ARRAY_SIZE(sleep_method); i++) { - sleep_method_t sm =3D sleep_method[i]; - - test_set_cnt_after_cval_no_irq(timer, 0, DEF_CNT, CVAL_MAX, sm); - } } =20 /* @@ -975,6 +970,8 @@ static void test_vm_create(struct kvm_vm **vm, struct k= vm_vcpu **vcpu, test_init_timer_irq(*vm, *vcpu); vgic_v3_setup(*vm, 1, 64); sync_global_to_guest(*vm, test_args); + sync_global_to_guest(*vm, CVAL_MAX); + sync_global_to_guest(*vm, DEF_CNT); } =20 static void test_print_help(char *name) @@ -1035,6 +1032,17 @@ static bool parse_args(int argc, char *argv[]) return false; } =20 +static void set_counter_defaults(void) +{ + const uint64_t MIN_ROLLOVER_SECS =3D 40ULL * 365 * 24 * 3600; + uint64_t freq =3D read_sysreg(CNTFRQ_EL0); + uint64_t width =3D ilog2(MIN_ROLLOVER_SECS * freq); + + width =3D clamp(width, 56, 64); + CVAL_MAX =3D GENMASK_ULL(width - 1, 0); + DEF_CNT =3D CVAL_MAX / 2; +} + int main(int argc, char *argv[]) { struct kvm_vcpu *vcpu; @@ -1047,6 +1055,7 @@ int main(int argc, char *argv[]) exit(KSFT_SKIP); =20 sched_getaffinity(0, sizeof(default_cpuset), &default_cpuset); + set_counter_defaults(); =20 if (test_args.test_virtual) { test_vm_create(&vm, &vcpu, VIRTUAL); --=20 2.49.0