From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4563BC43334 for ; Wed, 8 Jun 2022 03:24:32 +0000 (UTC) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 4F18D3C8F51 for ; Wed, 8 Jun 2022 05:24:30 +0200 (CEST) Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [217.194.8.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id C29D03C06E0 for ; Wed, 8 Jun 2022 05:24:20 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id AC62F1A0099F for ; Wed, 8 Jun 2022 05:24:19 +0200 (CEST) Received: from canpemm500007.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LHswg5vz6zggBH for ; Wed, 8 Jun 2022 11:22:27 +0800 (CST) Received: from canpemm500005.china.huawei.com (7.192.104.229) by canpemm500007.china.huawei.com (7.192.104.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 8 Jun 2022 11:24:16 +0800 Received: from canpemm500005.china.huawei.com ([7.192.104.229]) by canpemm500005.china.huawei.com ([7.192.104.229]) with mapi id 15.01.2375.024; Wed, 8 Jun 2022 11:24:16 +0800 To: Cyril Hrubis Thread-Topic: [LTP] [PATCH v2] futex_waitv01: Add test verifies EAGIN/ETIMEDOUT Thread-Index: Adh65u1rTXI+2i4lhkyiAcYtsL6TFw== Date: Wed, 8 Jun 2022 03:24:16 +0000 Message-ID: <731d89efc64e4444be65dc6fe860e346@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.67.110.209] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Virus-Scanned: clamav-milter 0.102.4 at in-3.smtp.seeweb.it X-Virus-Status: Clean Subject: Re: [LTP] [PATCH v2] futex_waitv01: Add test verifies EAGIN/ETIMEDOUT X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: zhaogongyi via ltp Reply-To: zhaogongyi Cc: "ltp@lists.linux.it" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" Hi Cyril, I have submit a new patch according your review, please see: https://patchwork.ozlabs.org/project/ltp/patch/20220608031953.152525-1-zhaogongyi@huawei.com/ Thanks for your review! Best wishes, Gongyi > > Hi! > > +static void test_mismatch_between_uaddr_and_val(void) > > +{ > > + struct timespec to; > > + > > + waitv->uaddr = (uintptr_t)futex; > > + waitv->flags = FUTEX_32 | FUTEX_PRIVATE_FLAG; > > + waitv->val = 1; > > + > > + init_timeout(&to); > > + > > + TST_EXP_FAIL(futex_waitv(waitv, 1, 0, &to, CLOCK_MONOTONIC), > EAGAIN, > > + "futex_waitv mismatch between value of uaddr and val"); > > The init_timeout(&to) inits the timeout with CLOCK_REALTIME time, so we > should pass CLOCK_REALTIME to the futex_waitv() as well. > > > +} > > + > > +static void test_timeout(void) > > +{ > > + struct timespec to; > > + > > + waitv->uaddr = (uintptr_t)futex; > > + waitv->flags = FUTEX_32 | FUTEX_PRIVATE_FLAG; > > + waitv->val = 0; > > + > > + init_timeout(&to); > > I guess that we can as well just do: > > SAFE_CLOCK_GETTIME(CLOCK_REALTIME, &to); > > Which would make the test much faster as we will not have to wait for one > second for the timeout. > > Eventually we can as well add a few miliseconds to the timeout, we do > have a nice functions to work with different time structures in this case we > can just do: > > to = tst_timespec_add_us(to, 10000); > > To add 10ms to the timeout. > > > + TST_EXP_FAIL(futex_waitv(waitv, 1, 0, &to, CLOCK_REALTIME), > ETIMEDOUT, > > + "futex_waitv timeout"); > > + > > +} > > + > > static void cleanup(void) > > { > > free(futex); > > @@ -126,6 +154,8 @@ static void run(void) > > test_null_waiters(); > > test_invalid_clockid(); > > test_invalid_nr_futexes(); > > + test_mismatch_between_uaddr_and_val(); > > + test_timeout(); > > } > > > > static struct tst_test test = { > > -- > > 2.17.1 > > > > > > -- > > Mailing list info: https://lists.linux.it/listinfo/ltp > > -- > Cyril Hrubis > chrubis@suse.cz -- Mailing list info: https://lists.linux.it/listinfo/ltp