From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com [IPv6:2607:f8b0:4864:20::333]) by sourceware.org (Postfix) with ESMTPS id 3A0523851C24 for ; Wed, 24 Mar 2021 22:31:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3A0523851C24 Received: by mail-ot1-x333.google.com with SMTP id g8-20020a9d6c480000b02901b65ca2432cso115483otq.3 for ; Wed, 24 Mar 2021 15:31:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dQDsiwUZBNzNHlKtK13uxDuvKSxF8MrdQomluiVPE4I=; b=jZQ7zureSBwHEOEraMtGJzgyx5vnnrq01txq6nibdfEZsJADgBw6Ag+U13VqxlG8XX onJjOsvzJDvlv+iWk6YZuQOM7iwS2KN+ndHyV5khEJ1iw0HHhux16DPUdz65vOidUPBp n6rL9R0pjsGvmVxQc0smybWpAp+R0COIsyTtgSMcUD62b11js9yiMcBuT+/eiV4FEAAH cBYOwa1EAWBLfg59i5Ov3bPSjY5nC4KpdMUWXGTJH7P9XlcATA1D3jO2Z7QDsfwFqzNi VyNgXncGZUtUlErUU8idZPjQdVkMWRAolkMbSIyXb1IdO7eDwsfcGX7XRvJ9wI1CHODH sl/w== X-Gm-Message-State: AOAM531qevN/9FqnG/HBKAa2X9lIcMSGmPu9MhG5P30L8Hletn0qwJlK EGbcNIb0RbSbYhfcFzAU0cpmjtunczyeS9k8Y4M= X-Google-Smtp-Source: ABdhPJzQvKeOUPms4FqxYidAAbmmPiva13hW+YkL97K1I/T5sCNykx3D7/x3D3uX5AYIdm1mD47LgqOub1V66pMTogY= X-Received: by 2002:a9d:600a:: with SMTP id h10mr4299630otj.90.1616625067575; Wed, 24 Mar 2021 15:31:07 -0700 (PDT) MIME-Version: 1.0 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> <96e005ac-0e0c-e0f9-a33e-18ce2840f542@linaro.org> In-Reply-To: <96e005ac-0e0c-e0f9-a33e-18ce2840f542@linaro.org> From: "H.J. Lu" Date: Wed, 24 Mar 2021 15:30:31 -0700 Message-ID: Subject: Re: [PATCH] tst: Provide test for select To: Adhemerval Zanella Cc: Samuel Thibault , GNU C Library Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3035.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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 22:31:09 -0000 On Wed, Mar 24, 2021 at 2:43 PM Adhemerval Zanella wrote: > > > > 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? The test failed with "nohup make check" since select returned immediately. -- H.J.