All of lore.kernel.org
 help / color / mirror / Atom feed
From: zhaogongyi via ltp <ltp@lists.linux.it>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: "ltp@lists.linux.it" <ltp@lists.linux.it>
Subject: Re: [LTP] [PATCH v2] futex_waitv01: Add test verifies EAGIN/ETIMEDOUT
Date: Wed, 8 Jun 2022 03:24:16 +0000	[thread overview]
Message-ID: <731d89efc64e4444be65dc6fe860e346@huawei.com> (raw)

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

             reply	other threads:[~2022-06-08  3:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-08  3:24 zhaogongyi via ltp [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-06-07  2:54 [LTP] [PATCH v2] futex_waitv01: Add test verifies EAGIN/ETIMEDOUT Zhao Gongyi via ltp
2022-06-07 13:12 ` Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=731d89efc64e4444be65dc6fe860e346@huawei.com \
    --to=ltp@lists.linux.it \
    --cc=chrubis@suse.cz \
    --cc=zhaogongyi@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.