From nobody Sun Jun 14 09:57:58 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 5C2753DCDA2 for ; Thu, 2 Apr 2026 10:30:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775125807; cv=none; b=JFmp02PBZ+5lBy8n/OdejqDMz9JF6xfNUEysAa4JXOcv9PxXL+mawHxrDCY96BWnwZqd6GQXiwoofEtolN0vxIGVJmueVx6pF3muLYXmZhNoEz2UCw20waY7eyljftxw0nDFzhhSXb7Y3rA83iugzoGMt7LDaAipwCXwXH6tLSI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775125807; c=relaxed/simple; bh=Apf46VY2eRXVnlhJrBxjZLycYAs41xkNO2juTIz/8oY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=DB4KqbXpIWKPNKDB/ofab98HjJ78Gw/X32ube5RAr9IdN65Xk6bx6YspR08sAyMV0sbWp0U0b8TPaA2x7B66HUyeOyy9OI1AbwPIXpZAIdaHs3X3NICbDk8cJOv2jUto9LC2rzfiR6krMPz4SfTktqODapcjip2JdJwD5B18Ja0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SbykqPkM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=enS9wpjr; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SbykqPkM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="enS9wpjr" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6327Htph4009493 for ; Thu, 2 Apr 2026 10:30:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=jVA0PNY2T7z+2J6cH7LyrW0flJBfZw06ogl OzXoDyKU=; b=SbykqPkMQgcsQjhK8hLj2w4eJxlCtSlflWR7+zs8jV+gO2zzbaz LfCaZ3KlGudaYi1o6LwwP2WNvGkhUzji21ycQsGIozZH/vAiSG7bqvFkhTc9Eljd /e0/906vm9+Fu9VCYqg5bgTG2Ce5mj17D1L/QOHzYbQzKSVwFKCCQu5srhY1itzW V9A/P90FxtHSMFz+bHiKBtT0WUNMGvGetDivDBCRwU/hm77kKha0IW+HfX20/jCr 77ERrVTOkJB7m8ywhc3H0VHDc0MovGUQMwJuBQCS5e8Lh1oMSd3xsPDEtZihGNNT 1jndEmwcDZzx1hEuWKiVCiGp7TX+i/tSdUA== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d97e03gyb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Apr 2026 10:30:05 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-35daf3d3030so742550a91.1 for ; Thu, 02 Apr 2026 03:30:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775125804; x=1775730604; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=jVA0PNY2T7z+2J6cH7LyrW0flJBfZw06oglOzXoDyKU=; b=enS9wpjrOPtBR4ZD2HuB2v1HytRLZPaNFpQR/dZhekO2zpQxZYfuBx/NAu2FFpSfoD kH6mGIVFwOkLctLlGMlCW6jY1F+oj8oEVeR/QKMnIToAioGu0R6vOgm7/mA2ipUOLv3C yjRbRD16M9nw7LfLEkYYQxSMnfQDS63Ghii9biTszCwCWEJ7lPVCZjoV/MRtppMh0O8G 9bQnc9SdRe1vjG2EAvxXtUuBLCY2iys5heEOcUkdEJde3yrsbG+QizK5gYI2ShgceJH0 1WDLPEux+gJ5rkDAXEvNUuAhd8AReDbRZAdxjMb7rF9jsJcyeP1EJZnEsYxaOXTNJC6i ywhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775125804; x=1775730604; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=jVA0PNY2T7z+2J6cH7LyrW0flJBfZw06oglOzXoDyKU=; b=rS5ZaV5gjkZL2H0wVxC4jGsiOxMf2QSCHFKm0vPuqrYCDjuube2Aj/8NOeY6VAwsGl mCSsv90DkLKG3rLEwiWGKKbLuY1/ykLuF8rl11NLJ7/V0eoXBVtpQClpDN5gG5OWuljN Vfm5h0SPQpFHB1sVNhri/kAcMEDX1EnBV9tmphl1Sh3awhiRvvfv9Wr5/5CT9ZYNPQBx U5upBfqPEriX6mlYmea8x2AQbaZW6TsGO+10fCeN9k+MyS1ALkZ+hNH3WPz1JIV7/FAa hl51u6Sd089BM553hDL3aAbActgfkkVF4qKvMTHppSxz1b7Es4IAB6kOjlB8SXIpsjHF 4dMQ== X-Forwarded-Encrypted: i=1; AJvYcCVd5jsC/3dBl1wPrVZtt8wvS0FxjuCjzyb3suJh94ctN/DNIwmc1SeXJrxjkPPwzMtXuevq+fYSgGObwoc=@vger.kernel.org X-Gm-Message-State: AOJu0Yz00eY2XFgdVoRgZ3zUrKUs0a/qsf3WVmbTfKUoMQkC/jqgBBhf /N/tQAcD3YrGt2XO/LQTbIBCreMg2nBM7yiew+RfNx6nodfXro1PeETc95Nlaxxjn7r1j2FC3Ij H6U62t0baj40+20wn0MDdYpD06AnjSXsNfc/a0uEKjrlG2TUxrDIJWoLJpCHDvszwFz7WyK7P4M zYGw== X-Gm-Gg: ATEYQzxAEPe/Mkdj7FuPzdKA4aj9Tuzve987q31ug55R/1lAfgCSY9FMkH+7Fvjk+l4 8wFtMoZj58/ZpSOCQPoFtO+Ij4BZyVCNpI5JUvqmY9c3nv4E1XRhYhNDSsnMT5u5WfUU6ENsMjO /a/lBIgd7mvlASu5/vUGOjRieuvy28IkdGW9eZ/E/x9P7GBKAQfJd/Pd/IZYbmgbV6IIdxEJXpz tqvcViApibrdy066bmgdtVSIzk5xIjyXZgUSsz64bP6CpknNzfga0Kx21lhOJr3TedYtK/4wsBJ OKBYx2HHtap6CdxnKpSRf1FwvzMhEBBMdEg2HiCOPWziPYMpaNCpn1Ds3jdDM9UbDjj/IeDVbkB 8yONCmUPEvqsQxnz/7T5ORkYlaTOQaBvz007xTGF3odu1yszqvfKknteye94= X-Received: by 2002:a05:6a20:1595:b0:39b:ba95:b14c with SMTP id adf61e73a8af0-39f1098ef84mr3226923637.24.1775125804262; Thu, 02 Apr 2026 03:30:04 -0700 (PDT) X-Received: by 2002:a05:6a20:1595:b0:39b:ba95:b14c with SMTP id adf61e73a8af0-39f1098ef84mr3226894637.24.1775125803758; Thu, 02 Apr 2026 03:30:03 -0700 (PDT) Received: from hu-mchitale-hyd.qualcomm.com ([202.46.22.19]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-c76c64a99ecsm2387075a12.14.2026.04.02.03.30.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 03:30:03 -0700 (PDT) From: Mayuresh Chitale To: Paolo Bonzini , Shuah Khan Cc: Mayuresh Chitale , kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] KVM: selftests: memslot_perf_test: make host wait timeout configurable Date: Thu, 2 Apr 2026 15:59:52 +0530 Message-ID: <20260402102953.2984284-1-mayuresh.chitale@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 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 X-Authority-Analysis: v=2.4 cv=fdGgCkQF c=1 sm=1 tr=0 ts=69ce452d cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=gtbmaYlBKaLh0XEAUCIA:9 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-ORIG-GUID: LH9IWh2k_ACjCAgmkfUtTpdNqF5AfL4K X-Proofpoint-GUID: LH9IWh2k_ACjCAgmkfUtTpdNqF5AfL4K X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDAyMDA5MyBTYWx0ZWRfX0lBw3c/Z32GR eGC0JFrLG9vKsWYdj1HRiPlAxEbFxvA3N7NEPsxp1/TBjMKHXrcsDU93ptiqsZb3UXrcaFBSnSI 3eOTU7Noo3Ko3qLpiCbyzAsm93YYXPSTfl2Wh8/FYQozW1GBZuzm5xx6ZmrL2YyOK55yFu6zAFJ PDMeRsDcZuw/cBGURXWj7QqqVRgmsj2FB/kWlhc/38OLoPFVe4kkrylh8pc5Ufsm/CpJVrvUUl0 +WYYr3PkgODm27f62+s3e+b232ORxT2FGiOXldb5SH022/6w1JUO3kdaJFnRFpLBkw+F4G4TZFj m+jhWLkj0T1mUmPwRyvgV/knpJEJ/Uhtp6JwicCmi7CBfN+A14iXRgabIRbeS486FCWUrAcla6f xzliXGroB8ledDNsnBAGWDKvN/VxJ/gLAwlxFAJtOYTlTRkwfDmFZID5jlMoxVbZq5v0DOX9MGb dZfNWuCOCV85oZqYyHA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-02_01,2026-04-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 adultscore=0 malwarescore=0 impostorscore=0 bulkscore=0 phishscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604020093 Content-Type: text/plain; charset="utf-8" When memslot_perf_test is run on qemu, sometimes the RW subtest fails due to sigalarm, indicating that the guest sync did not finish within the expected duration of 10 seconds. Since the current timeout value is itself a bump up from the original 2s, making the host timeout value configurable via a new command line parameter. Now the test can be invoked with '-a' argument to run the test with a suitable host timeout value. Signed-off-by: Mayuresh Chitale --- tools/testing/selftests/kvm/memslot_perf_test.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/kvm/memslot_perf_test.c b/tools/testin= g/selftests/kvm/memslot_perf_test.c index 5087d082c4b0..432dbb5fde82 100644 --- a/tools/testing/selftests/kvm/memslot_perf_test.c +++ b/tools/testing/selftests/kvm/memslot_perf_test.c @@ -111,6 +111,7 @@ struct sync_area { */ static_assert(ATOMIC_BOOL_LOCK_FREE =3D=3D 2, "atomic bool is not lockless= "); =20 +static int wait_timeout =3D 10; static sem_t vcpu_ready; =20 static bool map_unmap_verify; @@ -418,7 +419,7 @@ static bool _guest_should_exit(void) */ static noinline void host_perform_sync(struct sync_area *sync) { - alarm(10); + alarm(wait_timeout); =20 atomic_store_explicit(&sync->sync_flag, true, memory_order_release); while (atomic_load_explicit(&sync->sync_flag, memory_order_acquire)) @@ -900,7 +901,7 @@ static void help(char *name, struct test_args *targs) { int ctr; =20 - pr_info("usage: %s [-h] [-v] [-d] [-s slots] [-f first_test] [-e last_tes= t] [-l test_length] [-r run_count]\n", + pr_info("usage: %s [-h] [-v] [-d] [-s slots] [-f first_test] [-e last_tes= t] [-l test_length] [-r run_count] [-a wait_timeout]\n", name); pr_info(" -h: print this help screen.\n"); pr_info(" -v: enable verbose mode (not for benchmarking).\n"); @@ -916,6 +917,8 @@ static void help(char *name, struct test_args *targs) targs->seconds); pr_info(" -r: specify the number of runs per test (currently: %i)\n", targs->runs); + pr_info(" -a: specify the number of seconds for host wait timeout (curren= tly: %i)\n", + wait_timeout); =20 pr_info("\nAvailable tests:\n"); for (ctr =3D 0; ctr < NTESTS; ctr++) @@ -964,7 +967,7 @@ static bool parse_args(int argc, char *argv[], uint32_t max_mem_slots; int opt; =20 - while ((opt =3D getopt(argc, argv, "hvdqs:f:e:l:r:")) !=3D -1) { + while ((opt =3D getopt(argc, argv, "hvdqs:f:e:l:r:a:")) !=3D -1) { switch (opt) { case 'h': default: @@ -1007,6 +1010,9 @@ static bool parse_args(int argc, char *argv[], case 'r': targs->runs =3D atoi_positive("Runs per test", optarg); break; + case 'a': + wait_timeout =3D atoi_positive("Host wait timeout", optarg); + break; } } =20 --=20 2.43.0