From nobody Wed Dec 17 08:50:59 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 E267F214A6A for ; Thu, 5 Jun 2025 10:37:02 +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=1749119824; cv=none; b=suR8Xf3XyStYwibuaZKubKEnilimgZ4QgbOprHXqv0SLmrcaFur3yfgP7zAmpxGn/ELiug2K7HvARTYhYw561mSErL7CeL/1SC5oF0euRIkgmPb3VfTcGbp3dVPUF2fUh9tJ/tQa2UfIE5dxipaA7WoSkYpUXaGJwdMMbOyBpQY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749119824; c=relaxed/simple; bh=VzQyPkruYWrDZAOkmL/UT3N0xShjKnGR9pQJo0jQ/Qk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XHxHaQsOWrsQGWNdDLRKZVnk6pbD1H1s/JYYDvhj6Pw3DQnsO2T2xWsikP2IHw4caUERlkyA+i4+kb1EIzXZMRWnAlgtIiSvxO0mRggOptGWOH1cBfcs8/4UGwMb1RBCd4GnYH6CTbv5V3KWXSfzSMSRgHiZhRierG58SqTj/tA= 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=ee8JtKn4; 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="ee8JtKn4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749119822; 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=ee8JtKn4AK3np+rN8KwUSKsDtvZ4n0cUbu6EkFo9f9JMejYicFwKZwksgstAW2nsQzpIlv qi6NVSIJIqO9GG1AYSxM6dk0D2GWZ16rYyGTXVB4J5A2OnYgJfkkunHFSf3EGvE9I7WmXT bytrwgoQtbPXpFtO1jtcNnL8utdoIF4= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-359-qkn5NuUpNQK7BXdY3qLUrA-1; Thu, 05 Jun 2025 06:37:00 -0400 X-MC-Unique: qkn5NuUpNQK7BXdY3qLUrA-1 X-Mimecast-MFC-AGG-ID: qkn5NuUpNQK7BXdY3qLUrA_1749119819 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a5232c6ae8so357040f8f.3 for ; Thu, 05 Jun 2025 03:37:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749119819; x=1749724619; 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=byKDplDRCkGGoo+8PjOp6+bI2MZySKulJdud90sa2K+dO4YUW4T+5e/6y7P2KY3rIk tdGO1aNxga/26DxRxvgsHqIlZK/nMwIKMyWQMtGZD1QDBXqBTn34ARuHFY6nVCCD5rf2 yBchnGCW28Kea8X4llycoeEYpcSKMgf6cg5BhX8eL3T/EidbDfx5ed0sTJ+Pr+Q8cU69 T5YGBtINoBpJLrwIgG5QVr2IqrY8VV9lkA4iaUExfQk+FzE0cPDt1oIDcuLrsnfs2rfe hacTfYMNjKPzW9uIXjteyCNeA9EBbskItL6E6xH3YgXV1elpH6ArdiRt+06kg8aO1F7L a2mg== X-Forwarded-Encrypted: i=1; AJvYcCUHFn4u2H8BoyC8RaI5EqPQFWRlGLVZN/17vOxtldzbxfFSJgTNq+NED1DrTfu2GzaNlvhoeIF0u/KlMAk=@vger.kernel.org X-Gm-Message-State: AOJu0YyY/tzI89joSYkcC6yz/bKTAeGqQrdXSqoGfni0wfC/IZxlvf/6 Ch1PW7mqDdl+tadnVITkUsl8nGY8tkx+lnYIUdoIgIAWE8y+2jvpQe+BBHP8GIP3SwEHxlf7T2P 40fM5Z44ub9akztAQbbMTp8NYITIAbgrbdbEDG23or4Qb/onYFeR3DUxJ5WnxbqUklQ== X-Gm-Gg: ASbGncs0J7Y1AQMnsdL0hgtRjbHicveaFAOTksMZ2yTz5cNSsjDrZaC7J7LR0F9goI2 6x+MhVlH0Gcny3cTGNCDls+lJryywLJQwHxQPx54owJ7umHH/hsV1oK0UND/GNpCenP/OSxQN9y YW3hBnKjO48vlgiso1fM/vZ2foOvbjaGiU0TtbUlExnB0u16cazNA5bygRX1unIr7kx/GLkTGvc bAldVmBaTGwXgIOYIalW/EjheyBQ0xS0KkD0QB1kJezA2n6HyR87QcdmC5aYYuf+ZnMuZa+H/F/ GjnEa9QD7y6P49lkroufHdID8/1/m4YK5LI8mwY5C1F+jCGzmRS52J3G5SjaJ1S0s5I5bYt1eA= = X-Received: by 2002:a05:6000:144e:b0:3a3:ec58:ebf2 with SMTP id ffacd0b85a97d-3a51d8f6a68mr5594158f8f.7.1749119819359; Thu, 05 Jun 2025 03:36:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFRjZpPO2+0jMcuZP9CR9nsUnOUJ7V0YuUBqF23a88OV3aPhw4HnJ7EZRrzi+l8ZxUNJutO1Q== X-Received: by 2002:a05:6000:144e:b0:3a3:ec58:ebf2 with SMTP id ffacd0b85a97d-3a51d8f6a68mr5594137f8f.7.1749119819002; Thu, 05 Jun 2025 03:36:59 -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-451f8311ae6sm14105175e9.2.2025.06.05.03.36.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Jun 2025 03:36:58 -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 v3 1/4] KVM: arm64: selftests: fix help text for arch_timer_edge_cases Date: Thu, 5 Jun 2025 12:36:10 +0200 Message-ID: <20250605103613.14544-2-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250605103613.14544-1-sebott@redhat.com> References: <20250605103613.14544-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 Wed Dec 17 08:50:59 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 D8D78216E2A for ; Thu, 5 Jun 2025 10:37:04 +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=1749119826; cv=none; b=iV+PW561arPCOVpIjjLGoE38eF0DkXhDUg9ikFriVECHiKw0/fmjy4pOvLYDe/5xAkoPQL03wXrI8yB2FPnuK4EgB4wdtH2k2D1honmfRSMhPxyz7zh05EaTiXhPSGoqDab2rNmorn5pHLioFo/BK0DP7w+jOxErzrdvossXIPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749119826; c=relaxed/simple; bh=cOsu4Qrb+3bx73g5aMRxtPG7+Gkx5amoz9G8WVXNU9c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RoypzZbAZO/uXrLbeXIsoVm7w6wlbAOWOKw3f2zAMJrggvTu1BSgxYN0wMCZ6ZlJq2yOZccDd6a3o7/LE6rUa/FbhKC4xs2eENu9jaHYkmSu2dXwW2OaN0yz0BGf0TflT3o3v6PwxEk2XrCOpDCA3nBCCX87R+pnl4vEMjwoj+U= 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=KfYLkCY5; 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="KfYLkCY5" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749119823; 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=KfYLkCY5Ibfns3yY5fwO0kFdujfCOVRQ+CtLu8D2PM/PFTK0SWpN/1TIGv+Gobpzh8humL j+SIfyVP4YtskmjMO8eoz+Z8LyAR98nmOOMGw/OGb/hqFgmatXm7e5aCMt8IBnkJZQ2nka +z1LU7rjg+CN4fN89F5e6oqRdk/jLIw= 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-519-mkKq6imzOzW4-EEHVEv2PA-1; Thu, 05 Jun 2025 06:37:02 -0400 X-MC-Unique: mkKq6imzOzW4-EEHVEv2PA-1 X-Mimecast-MFC-AGG-ID: mkKq6imzOzW4-EEHVEv2PA_1749119821 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-450d57a0641so5613965e9.3 for ; Thu, 05 Jun 2025 03:37:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749119821; x=1749724621; 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=fh8jJnA825z/zKRyISUFQs4XrGsTiez7Y2hRmfLvRlrHCCjsiLLxOK6/LMXNJBuB4E 3Dy2Yjv9s5OnXwfsC632FhuWwWXvGwqajzNU97l7cS7Iemmx1By7pcHxWRkmmGA5qc2Z S/QsQ311jBQX2MILhElg3vi927G+WiCdr9CtO7U1oshJxNH9pXOMX+Mym8qlfMmM6Soe OSaVkG+Q9Etpn9vyAeWp9z8Az+F0dKiKVcMIuurUxx8CZ+myxmPN+BQP3qVpatwPMrXI 6xYg/ZdU6yW2LmYEKCT3mMnz+uuoEpYoHExTalZ6L0OdlzDhW4ygzXjAn6I/0zHTR0Y4 xZwQ== X-Forwarded-Encrypted: i=1; AJvYcCWBaJWzAHyry/+cgUYQTQ5FDLt92jzy14yGykTsP0C/xViaclq5MTEJUgBITGI+JCWvwtPqZToRTH9JqfA=@vger.kernel.org X-Gm-Message-State: AOJu0YySNizJCt7axt9nxuz9qKIqoIhXeW+oNN+tAbz+XRFztMeb8Rqf L/H0WQG/DcLzzxqnL+m6kFt7/e64z3qldUATN5nYHuGUAFO6wpQMxTQlqrdbWjBRNCHeNkU29M3 UY0D4gybr8ZvG5R2kgs7EDkKISge91s8A0p5hEcJYdCjphGz6a4kI8z4Wa1/+fciorrBG2/cHvQ == X-Gm-Gg: ASbGnctPPJws4FhcuDwOxP4B2wVBGxoI68Yz9fH3x0VVawQ2rO6yZHx+GgoCGDNl1nm wkRj9jLayy7KO29kqBbMsxNiXjn3OBuwDFbeDWHyAqC7i5MOFYyQMcn9YPn3HAvnctGSsnUZDpg 6uwmdEpYPYf2PfbSNJsvO/rIUT6T8+mXouuwO7q8nFPVtkPxf8eYsWfCNwH6ba/GieMbrcrb9ey IS1JiEg4SMA//W76XIl6UcPFsWZRhp8A2hsErD7JzLTUyF7w8a6aC6W4An1/lAJBB4ymyh0/QBe cG5/rVbPW9ddpKJVWSz7nL8dxNHO0zO2cXTCIIbnoMxnDrU9notdZmky8b2ov5HT4Ii5ObM1cQ= = X-Received: by 2002:a05:600c:828f:b0:43d:ac5:11e8 with SMTP id 5b1f17b1804b1-451f0b26621mr50050495e9.21.1749119820632; Thu, 05 Jun 2025 03:37:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFs6aFjV1ri9gglwDDly0k/rNzs1/j6SDKTIoXHxHHy0T2KK5H3bwQ524CbBRzv8yzrX28AyQ== X-Received: by 2002:a05:600c:828f:b0:43d:ac5:11e8 with SMTP id 5b1f17b1804b1-451f0b26621mr50050275e9.21.1749119820235; Thu, 05 Jun 2025 03:37:00 -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-451f8311ae6sm14105175e9.2.2025.06.05.03.36.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Jun 2025 03:36:59 -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 v3 2/4] KVM: arm64: selftests: fix thread migration in arch_timer_edge_cases Date: Thu, 5 Jun 2025 12:36:11 +0200 Message-ID: <20250605103613.14544-3-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250605103613.14544-1-sebott@redhat.com> References: <20250605103613.14544-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 Wed Dec 17 08:50:59 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 7C372217716 for ; Thu, 5 Jun 2025 10:37:05 +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=1749119827; cv=none; b=s7AEzMwYaw4Ayxg4hssPlVYwD3mZZIIXe8xDBflBmvW5DBn28hGya3YMCrDYnj3YZDu75kGSGpzVvaFeUmohQQY2AgF9F2BzcbZuxU+z8A2gb2xv+gxGeY0iBNvIb/E6phLtWblLCDy3JR/Up+QSgj4bMyRNji0dsM/TSWBcQQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749119827; c=relaxed/simple; bh=9XeYGeARuady+jct2m+tvWS5mZLD2RXXr/jmj8/Q/5M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qnBNLVdfD89+zQdUgEJdh1y4GIajJEFJ3fgF38tkK0cPegJru7H5OHYvLDIaxIRbDkIEAs+b1WPe1hUuuL4AxxpFiaT2OUNesH37wL1Dbz2H7syQoFWoIkFmT2+y7SigffaaqVA/B3rQXCj9jJYM9Nl12AtZu0MzoG5rsa9n/8U= 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=W4dWB9h2; 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="W4dWB9h2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749119824; 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=0rVhjvVcIXx5T86Gzf/rZsso5uT7BOLjFW6qVNZ4D4g=; b=W4dWB9h2QrFUOMDRdwu7PxHz341RXpaa627mV/X4TtJO/djrYfe351gSpjFy0xUff4363+ P3LuzxfRyWT28cSRDIjJdtKx6d7IeMChsHfskyMPcUxVaQFVnlCJiBLVGHCWng9MnVHBNG gAplifDAvmh6lic2WZiCAXM7rqLHD0E= 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-649-KMuclDWaPgqeSj9j4m6T6A-1; Thu, 05 Jun 2025 06:37:03 -0400 X-MC-Unique: KMuclDWaPgqeSj9j4m6T6A-1 X-Mimecast-MFC-AGG-ID: KMuclDWaPgqeSj9j4m6T6A_1749119822 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-450d6768d4dso4941255e9.2 for ; Thu, 05 Jun 2025 03:37:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749119822; x=1749724622; 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=0rVhjvVcIXx5T86Gzf/rZsso5uT7BOLjFW6qVNZ4D4g=; b=txEKzv/dKpi1DphGgnGpXETvkXEmUI3/GRYtVTbpdeMibU+DYura1XmPUYh04v/HQO DN0S+H/yJ4Pyz3Idns6Ctv1pisPDl6teaBdVeEoC7mig3T0n7kNuReykHStdpRpaEGNH +l2MVzq/mrowMa9clcP4JBHGWXYxn4/iPvV6iI7yYLzOyyIUjevP+D3UaJh82thBQpRy 503UX0EXwnmCflUkGJq65Num2ILfhEpnp/+C66n6dgYd8pAnJODRWRQgfvR9mWiuPeSx oyhje+QIMf7g/iHwsPphpt6WYtnVQf+dQrhxwYn96acRQX4uQJxbdngk7Vm8lG7xI1JP HpvA== X-Forwarded-Encrypted: i=1; AJvYcCUxFNMfBhVqkc86IRl3sQxp/TYKvRoESmP3VnCXt9tmDT/a4ZWbTM//ODGnqQZHr7DP4+YCBDzS8YGZJ5U=@vger.kernel.org X-Gm-Message-State: AOJu0YwT/Bxw11TAW6Y4foR8dDuKGa5bIaUGmkD8+vpccBANeUSYeE23 l3fkRSTuNwulwXaE7aW/LBFZgkzsommddX/AjWMHUFdYqmXAJT/+Y+oMtx9atD9UG0DYqYKU5RL MCrIlo1Uka4+GFXweRaL1zQIkC086b1W80oTSmNF/XGbb33L9+DAZ/sEJmL2y7+Gcag== X-Gm-Gg: ASbGncvWXIYLcyqxS58Wrxyd+62Ko6uZF9VNri0p973AKgkXETfelOx2bx7iFiGTuvx fDdejJ/X/ATHJnBxGaajEz+yG0UyBwgbXiQRcLysJHSFJOxAb9GD/IIlj7NJAbi7gjv4/dHCKxe 34V6qoRY+dIwsSUJOAQrjVe7mThFFpOHu+n9Tdz5EH/US1agx2SWDItcPifpjLoyZW49rHZ1YBF w7jNMoOCJTUI3Qkdh8SLcTWFncGUz4V3BxZ+IGarzyOKN9aMsXOiEWp4SrJaVpQPTWBnevm2Vbw LnrF1jHVdGlWj4LaJTWEICQDp7MTMjiuWJVF53NthpgmfM4oDPrmZsBJyJrafMwPuHPEfmw+lg= = X-Received: by 2002:a05:600c:46d1:b0:450:d5f6:55f5 with SMTP id 5b1f17b1804b1-451f0a6a475mr59189875e9.6.1749119821938; Thu, 05 Jun 2025 03:37:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGl6x7gVIPWibQhMLU8nel9VytzISKQ2PPkA0o/8Tg4UeXbk96NsVZsi/1KR13ZEgWYC/qLMQ== X-Received: by 2002:a05:600c:46d1:b0:450:d5f6:55f5 with SMTP id 5b1f17b1804b1-451f0a6a475mr59189665e9.6.1749119821528; Thu, 05 Jun 2025 03:37:01 -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-451f8311ae6sm14105175e9.2.2025.06.05.03.37.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Jun 2025 03:37:00 -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 v3 3/4] KVM: arm64: selftests: arch_timer_edge_cases - fix xval init Date: Thu, 5 Jun 2025 12:36:12 +0200 Message-ID: <20250605103613.14544-4-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250605103613.14544-1-sebott@redhat.com> References: <20250605103613.14544-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 hits the following assertion in < 10% of the test run= s: =3D=3D=3D=3D Test Assertion Failure =3D=3D=3D=3D arm64/arch_timer_edge_cases.c:490: timer_get_cntct(timer) >=3D DEF_CNT + = (timer_get_cntfrq() * (uint64_t)(delta_2_ms) / 1000) pid=3D17110 tid=3D17110 errno=3D4 - Interrupted system call 1 0x0000000000404ec7: test_run at arch_timer_edge_cases.c:945 2 0x0000000000401fa3: main at arch_timer_edge_cases.c:1074 3 0x0000ffffa774b587: ?? ??:0 4 0x0000ffffa774b65f: ?? ??:0 5 0x000000000040206f: _start at ??:? timer_get_cntct(timer) >=3D DEF_CNT + msec_to_cycles(delta_2_ms) Enabling the timer without proper xval initialization in set_tval_irq() resulted in an early interrupt during timer reprogramming. Make sure to set the xval before setting the enable bit. 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 a813b4c6c817..be8bbedc933b 100644 --- a/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c +++ b/tools/testing/selftests/kvm/arm64/arch_timer_edge_cases.c @@ -191,8 +191,8 @@ static void set_tval_irq(enum arch_timer timer, uint64_= t tval_cycles, { atomic_set(&shared_data.handled, 0); atomic_set(&shared_data.spurious, 0); - timer_set_ctl(timer, ctl); timer_set_tval(timer, tval_cycles); + timer_set_ctl(timer, ctl); } =20 static void set_xval_irq(enum arch_timer timer, uint64_t xval, uint32_t ct= l, --=20 2.49.0 From nobody Wed Dec 17 08:50:59 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 C4848218AD1 for ; Thu, 5 Jun 2025 10:37:06 +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=1749119828; cv=none; b=MebMZ1FU0kU/fr7t2Lhhnf79pn5mTT474mbA2VHPpz2WJ6tq9RsZ7ROXUMD6HclaArkuXmXfm+0lGKw9o2Zcc3H+Zqy8Em/MZWZTxcBmMmvdFUTWO37VzbySbic58WGrolCO+gl8/J1Ciuo6y0C9Xd6dVKsXRSUYL7gxLIW9eJ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749119828; c=relaxed/simple; bh=KbwWFQ1kTo+qRw1U/gTjGAckXKWUWt6XmW7dlBGCSqw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cDskZpN9UBZFiEN2DKPzmQC07UKbBSQBZC5AomOJv/AGzx6LdgK+zhS6lI8qrX98KwzzpNtJHTpOQfpQUaeUxH61d5z4P7p9SfqT218C/XxdiAhsQpuRJX4PCTYTwuVE4F3ChVFaJETpyMGgevAH0OI1/JrHWjDBHrIqYMDPEv4= 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=UFxvB3m/; 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="UFxvB3m/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749119825; 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=amWbxwyASZoUP07CpGcLTUSUvzxbgFk3ulFVLl61SIw=; b=UFxvB3m/NmZFQ4HCFPecHfmIpmoMLhnv+SFZIVy+/t+Z/9yLA88T0Be5ee99ubrXV1jv07 lFtYxtvOXnJbZ3LGm1tqjJnQy88BSB8yEzGKk18fHOUXNeYQgmBZPBe94A3o0p1YqhIj+F BwzoZsDgK7Yd78q0ud+blzYtDaSWYWQ= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-538-xwc6wXazN0yhvWpmIKBvtQ-1; Thu, 05 Jun 2025 06:37:04 -0400 X-MC-Unique: xwc6wXazN0yhvWpmIKBvtQ-1 X-Mimecast-MFC-AGG-ID: xwc6wXazN0yhvWpmIKBvtQ_1749119823 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-451dda846a0so5894075e9.2 for ; Thu, 05 Jun 2025 03:37:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749119823; x=1749724623; 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=amWbxwyASZoUP07CpGcLTUSUvzxbgFk3ulFVLl61SIw=; b=Bq9fWWP6bGf5jqC1o5Ong3HWu1cwton5tEKZy3mZbChgRAup+adbzT7ups4aPYW9jI xeHLVOYxhOLMglgA89OlJVHAos7OnH0cU+U8mFmWQGR9U0x4vr15OejE8g7C+6G63+6j 2wYPu1mfbwkz5y5PdVQVmQq60N79rjMrM1f+C4tixNC2x/t1NueorEs2i+kyHJqH+vjm veSiz/0D8ZOnaAcH7me/c/2L2uwcnwndc7jcTLNVdJNBK7IA7NR/1b3OldFDMnDx3dgB +zFJP76cmRPbU8B76cQvjLjjNRV7VvOEOm+Oq0Xd93uTDrGKtrkil8HnIK5LYuTqAmcC dNUA== X-Forwarded-Encrypted: i=1; AJvYcCWRVrEMcRB2V8gHqYjKLzEFsCCapr5hvUgVzLYnlzJe295PlTf5pjwvl9394JvAxeCXSU2RpHfl/WPJRdw=@vger.kernel.org X-Gm-Message-State: AOJu0Yzhve1Roe+qLC1jWXZucP06lr+6uuKCyB+JKC24uD/lQDLrO/nr epDcPxI9g1eoP4UwucJRsqZHHxtBzfbTc5Bg8d8SMU5aeGR6KRnjXstz9HY0HzdGF/bVZ7CeXih 0vss4N8/LUxbz5xWkAtZWM7hnxm8WDzgexKkEff8rpMn79FrJ5Zqym1ISrUbcFT0Nfw== X-Gm-Gg: ASbGnctCoe6YVe4tRPUA5amg9R0L5eXvVST45zJlMJKNuAF5BI5JeZC3rX3bAKZUGvB N16iuMkX6zogU4+KlLr+y4ZbFfA8JGnlMga5VpuBrbxG/amr0BDbIVH1I1DZuAZOIOH4bXKfiig n/nmY5u8QCHoj8Ez5qPI86Qs6L+0dnU2hPmQ5hAzPjr+V6RgsJmXRhk40rVczxIrZvb1MKs8uF/ 1FvqYwMNevbGdaxJqw/JMqXimHRBzidImfs4hI1KpYq2p1OrllHdKf104VIqM7nXuD1d1PFmB/y q1zGMalf8QfladuY+2pV3b5nwH7nRC0OGx6HuJH6mSSVRaynMc1QfVaR+FfL5T9pfRfifCN3LA= = X-Received: by 2002:a05:600c:3b2a:b0:450:d5c8:29ae with SMTP id 5b1f17b1804b1-451f0a72e7bmr51415285e9.1.1749119823021; Thu, 05 Jun 2025 03:37:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHmtZcZkRv3ekScQM6gx63V+kNA53R9LzjK0Zl5xkWmfvukrEiqxBs91K876Y3Lvx+XWubrwg== X-Received: by 2002:a05:600c:3b2a:b0:450:d5c8:29ae with SMTP id 5b1f17b1804b1-451f0a72e7bmr51414985e9.1.1749119822583; Thu, 05 Jun 2025 03:37:02 -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-451f8311ae6sm14105175e9.2.2025.06.05.03.37.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Jun 2025 03:37:02 -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 v3 4/4] KVM: arm64: selftests: arch_timer_edge_cases - determine effective counter width Date: Thu, 5 Jun 2025 12:36:13 +0200 Message-ID: <20250605103613.14544-5-sebott@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250605103613.14544-1-sebott@redhat.com> References: <20250605103613.14544-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. 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) 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. 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 be8bbedc933b..b4d22b3ab7cc 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