From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf31.google.com (mail-qv1-xf31.google.com [IPv6:2607:f8b0:4864:20::f31]) by sourceware.org (Postfix) with ESMTPS id 224623851C24 for ; Wed, 24 Mar 2021 21:43:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 224623851C24 Received: by mail-qv1-xf31.google.com with SMTP id x27so167979qvd.2 for ; Wed, 24 Mar 2021 14:43:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=vTdCKqdAjQZ1zAl2oNhhUGMOVV3TgDZHOefnLc0Nuyo=; b=tpVoxk0BLvnpa4do4RezC3Pk9IK8hXCqcLgHKrKYT6fFQA/CmF/3sMnP5fHFxmejgG kvLZ+lbff0WjpsmJPvoAknugCgplFqQBuHTh62T01jaSsg9G8tDnVgT9LSKbDO1q7v+e /QVgwRmfT9T9HXKuZB0Tt6PqeOYRtJzxj5itHKES5adAfZ5ja0yDVWaM+eFnIm2GS8AN zO1QlxAtLvvaCGE5xVtVrZPXM/TmHAgPEn8t1FRcezD026IVykBRwYboc1T/xV2BoEUu /r/sH5BmDbk1UkssnFurFjE8mLc7Z3yIuBBrGEpIiBvXk1sDgxp+oCMgOsHrKL6yZ0wZ Ae+w== X-Gm-Message-State: AOAM531hA4XygXJq9uXNPnsdusS3qwteHaiywkBqyKYVkQ0gHAjAXtkB xpk5sqO/0FJM+xPSdzfOD7gcobaC83g1ng== X-Google-Smtp-Source: ABdhPJwP78XWB+L2e8C64jphxzl1paZ1zpwL4es69lBE/OTuht2zcA8ECOxc1rp3eUf7GU0v2BAdFw== X-Received: by 2002:ad4:58cf:: with SMTP id dh15mr5167699qvb.26.1616622229582; Wed, 24 Mar 2021 14:43:49 -0700 (PDT) Received: from [192.168.1.132] ([177.194.41.149]) by smtp.gmail.com with ESMTPSA id 79sm2818092qki.37.2021.03.24.14.43.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 24 Mar 2021 14:43:49 -0700 (PDT) Subject: Re: [PATCH] tst: Provide test for select To: Samuel Thibault , "H.J. Lu" Cc: GNU C Library References: <20210314164625.9312-1-lukma@denx.de> <20210322123213.58775fbd@jawa> <39ac5960-73ef-f838-4409-20384c83b59d@linaro.org> <9dc782d3-c151-1dcb-0a2e-f6397c781761@linaro.org> <20210324213543.4ixrs66lloe7x6lx@begin> From: Adhemerval Zanella Message-ID: <96e005ac-0e0c-e0f9-a33e-18ce2840f542@linaro.org> Date: Wed, 24 Mar 2021 18:43:47 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <20210324213543.4ixrs66lloe7x6lx@begin> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Mar 2021 21:43:51 -0000 On 24/03/2021 18:35, Samuel Thibault wrote: > H.J. Lu via Libc-alpha, le mer. 24 mars 2021 14:21:54 -0700, a ecrit: >> On Wed, Mar 24, 2021 at 2:14 PM Adhemerval Zanella >> wrote: >>> >>> >>> >>> On 24/03/2021 17:13, H.J. Lu wrote: >>>> On Wed, Mar 24, 2021 at 12:47 PM Adhemerval Zanella >>>> wrote: >>>>> >>>>> >>>>> >>>>> On 24/03/2021 16:17, H.J. Lu wrote: >>>>>> On Mon, Mar 22, 2021 at 4:33 AM Lukasz Majewski wrote: >>>>>>> >>>>>>> Dear Community, >>>>>>> >>>>>>>> This change adds new test to assess select()'s timeout related >>>>>>>> functionality (the rdfs set provides valid fd - stderr - but during >>>>>>>> normal program operation there is no data to be read, so one just >>>>>>>> waits for timeout). >>>>>>>> >>>>>>>> To be more specific - two use cases are checked: >>>>>>>> - if select() times out immediately when passed struct timeval has >>>>>>>> zero values of tv_usec and tv_sec. >>>>>>>> - if select() times out after timeout specified in passed argument >>>>>>> >>>>>>> Do you have any comments regarding this patch? >>>>>>> >>>>>> >>>>>> This test failed on machines with more than 40 cores: >>>>>> >>>>>> tst-select.c:54: 1616610088.851713938s not after 1616610089.851712804s >>>>>> (difference 0.999998866s) >>>>>> error: 1 test failures >>>>>> >>>>>> I was doing 3 "makec -j28 check" in parallel. >>>>> >>>>> I think the nanosecond precision of time accounting is triggering the >>>>> failure, since select only support timeval (the error indicates that >>>>> the nanosecond precision is what is triggering it). >>>>> >>>>> Maybe if we ignore the nanosecond precision: >>>>> >>>>> diff --git a/misc/tst-select.c b/misc/tst-select.c >>>>> index 7c310256c5..4b1791ac8a 100644 >>>>> --- a/misc/tst-select.c >>>>> +++ b/misc/tst-select.c >>>>> @@ -45,6 +45,8 @@ test_select_timeout (bool zero_tmo) >>>>> to.tv_sec = timeout; >>>>> ts = xclock_now (CLOCK_REALTIME); >>>>> ts = timespec_add (ts, (struct timespec) { timeout, 0 }); >>>>> + /* Ignore nanosecond precision since select only support microsecond. */ >>>>> + ts.tv_nsec = (ts.tv_nsec * 1000) / 1000; >>>> >>>> How does it work? It looks like a NOP to me. >>> >>> The idea is to clear the nanosecond precision from the xclock_now call. > > It should rather be > > ts.tv_nsec = (ts.tv_nsec / 1000) * 1000; > > shouldn't it? Indeed, thanks for spotting it. Could you check if this helps the tests H.J?