Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp4431532rwl; Mon, 3 Apr 2023 05:05:28 -0700 (PDT) X-Google-Smtp-Source: AKy350Z1Ac9d/fOe+aHNMthYjxxsXtkpA+jkaLMTDJOlVT7nUbaG6JOUOuOna+faX1HALhPEqBnN X-Received: by 2002:a05:6402:2:b0:502:9d16:fd00 with SMTP id d2-20020a056402000200b005029d16fd00mr3027874edu.9.1680523528411; Mon, 03 Apr 2023 05:05:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680523528; cv=none; d=google.com; s=arc-20160816; b=UflastQZUr17di6jLDm2FJut2BT8l+oX3L6ZIqNpcxOMu3f2UQ0dk8i3WsJRe7ANua GkGoBDhns4bOlujG6NdtCGhaa/vt8A/J+C1X6pkxrGoGaCQ7BGXToo/SHtAG5hrHKwsB sXGqIQwkCExSDXFMEu6hVwLgWb/phrKcNDY4oEwlrQC3awNeSqnhiev3aKRMDmuzkpk9 gCuxlvpIpb6RjIYIsja7JEjyEi9iBHG6Byi5Ue80PiDg4bHdUBcQGNTmbqvelX4HXOjX CGsbAbm47g/ai6ni27WtlpxwZ0z/rjWhdthvYJ6R4d2ibiilHRoc1cEHBDaoz8tpbyzB /c9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Mv9eSPw2NYDm+zLdn/0KIdtGuLd5MVBc/kA1IEA/9U8=; b=BJH2cGsLxO44ZAL60UwRe/4fTIE0LXR7y4l33gu7IN2v9ic2zm8UhDjMXmqfOTEhtp qb8WRYMwID9ni313uFtVZHyi+DpCiqGpqMgcb5Hwh9S4NZiD+Vwm2zB4apEJV+VPLinV u0o5nq8zH6UufD8EqQGWDyhLQ2oPwMsKZhx0nWUjbKkSOJ80gW/zX9bC8NnRARVC4bNp Xn60uPE3YxP4rykkHBiUzKRLg6HhLCz0/tfeJkwQ6ZUsvmUQqLkJKz7Eo54xlAvndnym iqJgHCza+j1v4Mcq9lbJKd/5ojLPfwvdmEUmloDTQaMYE/fJYmeXQx0IHouIo8CzQH1r qN/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dectris.com header.s=google header.b=qeLcnaJv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=dectris.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t26-20020aa7d4da000000b005024c86c50bsi3179731edr.392.2023.04.03.05.05.03; Mon, 03 Apr 2023 05:05:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@dectris.com header.s=google header.b=qeLcnaJv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=dectris.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232116AbjDCMEP (ORCPT + 99 others); Mon, 3 Apr 2023 08:04:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58982 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232062AbjDCMEM (ORCPT ); Mon, 3 Apr 2023 08:04:12 -0400 Received: from mail-ed1-x563.google.com (mail-ed1-x563.google.com [IPv6:2a00:1450:4864:20::563]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D632FF0E for ; Mon, 3 Apr 2023 05:04:08 -0700 (PDT) Received: by mail-ed1-x563.google.com with SMTP id y4so116416178edo.2 for ; Mon, 03 Apr 2023 05:04:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dectris.com; s=google; t=1680523448; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Mv9eSPw2NYDm+zLdn/0KIdtGuLd5MVBc/kA1IEA/9U8=; b=qeLcnaJvpGzxzC9i2/5UzqXUn0aCH0vyWkKClH/xO2mw5d0sxsfOU84hGlNAlIyj3T HM5N0+wtUwVioRD56uqOqHHmo+V2eV35THsxuTTiMOn0pLREW5D21VnQ7UXTW/RlSEm0 achUFDrhpgjMzG1xbdweAPoGwdzCbh75n2gi0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680523448; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Mv9eSPw2NYDm+zLdn/0KIdtGuLd5MVBc/kA1IEA/9U8=; b=NhMqY0/yO3qNlBaLwgChLeLEKobaWwti0rxPFq+8ZCfNGhUbujN8lGb9ZCPjmsOFbt DZ66OuoEySr6bB2iyDWJaKFUyDe3Tt62TfoRyZdawePXc60qS7+mfQxr5AUk6G57UU+8 s8gtqyTZUNbZaQmtrX0qB0XGsg5YcSulzB8S7WYhRYDbLqp4qEi6/xw+s0cKwD3HRCNv q/aA/qM9m7VykuBasagi6a3ormJ2SssaBcbn4rdy72bf2wr3cdrXRLdWQcsbLdsMFa7n 2JbgX8vShDl6JgSzHmE2k061pALsiwZbNeDBk3cvuch7xnUVaMci7lxEvNpNbH2ivZnW /SGg== X-Gm-Message-State: AAQBX9dYO47HXdIK5X7L0/egHbRrHLbZhAO/SnN/5S0L42jO1MnyNnFu 2WdDgngbrGbEwSoMM5V4Fw6lRk+nYJQVEpPNqZhqHe4l7Nl3 X-Received: by 2002:a17:907:a0b:b0:93e:739f:b0b3 with SMTP id bb11-20020a1709070a0b00b0093e739fb0b3mr46736265ejc.50.1680523448055; Mon, 03 Apr 2023 05:04:08 -0700 (PDT) Received: from fedora.dectris.local (dect-ch-bad-pfw.cyberlink.ch. [62.12.151.50]) by smtp-relay.gmail.com with ESMTPS id g26-20020a17090613da00b0093d0d964affsm3174279ejc.73.2023.04.03.05.04.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Apr 2023 05:04:08 -0700 (PDT) X-Relaying-Domain: dectris.com From: Kal Conley To: =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Magnus Karlsson , Maciej Fijalkowski , Jonathan Lemon , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Mykola Lysenko , Shuah Khan Cc: Kal Conley , netdev@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH bpf] selftests: xsk: Deflakify STATS_RX_DROPPED test Date: Mon, 3 Apr 2023 14:03:59 +0200 Message-Id: <20230403120400.31018-1-kal.conley@dectris.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix flaky STATS_RX_DROPPED test. The receiver calls getsockopt after receiving the last (valid) packet which is not the final packet sent in the test (valid and invalid packets are sent in alternating fashion with the final packet being invalid). Since the last packet may or may not have been dropped already, both outcomes must be allowed. This issue could also be fixed by making sure the last packet sent is valid. This alternative is left as an exercise to the reader (or the benevolent maintainers of this file). This problem was quite visible on certain setups. On one machine this failure was observed 50% of the time. Also, remove a redundant assignment of pkt_stream->nb_pkts. This field is already initialized by __pkt_stream_alloc. Fixes: 27e934bec35b ("selftests: xsk: make stat tests not spin on getsockopt") Signed-off-by: Kal Conley Acked-by: Magnus Karlsson --- tools/testing/selftests/bpf/xskxceiver.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c index a17655107a94..30a364283542 100644 --- a/tools/testing/selftests/bpf/xskxceiver.c +++ b/tools/testing/selftests/bpf/xskxceiver.c @@ -631,7 +631,6 @@ static struct pkt_stream *pkt_stream_generate(struct xsk_umem_info *umem, u32 nb if (!pkt_stream) exit_with_error(ENOMEM); - pkt_stream->nb_pkts = nb_pkts; for (i = 0; i < nb_pkts; i++) { pkt_set(umem, &pkt_stream->pkts[i], (i % umem->num_frames) * umem->frame_size, pkt_len); @@ -1124,7 +1123,14 @@ static int validate_rx_dropped(struct ifobject *ifobject) if (err) return TEST_FAILURE; - if (stats.rx_dropped == ifobject->pkt_stream->nb_pkts / 2) + /* The receiver calls getsockopt after receiving the last (valid) + * packet which is not the final packet sent in this test (valid and + * invalid packets are sent in alternating fashion with the final + * packet being invalid). Since the last packet may or may not have + * been dropped already, both outcomes must be allowed. + */ + if (stats.rx_dropped == ifobject->pkt_stream->nb_pkts / 2 || + stats.rx_dropped == ifobject->pkt_stream->nb_pkts / 2 - 1) return TEST_PASS; return TEST_FAILURE; -- 2.39.2