All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: ltp@lists.linux.it
Subject: [LTP] [RFC] [PATCH] syscalls: Add timer measurement library
Date: Tue, 30 May 2017 09:17:13 -0400 (EDT)	[thread overview]
Message-ID: <502320923.23716336.1496150233908.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20170530121501.GC24720@rei.lan>



----- Original Message -----
> Hi!
> > > +
> > > +struct tst_timer_test {
> > > +	const char *scall;
> > > +	int (*sample)(int clk_id, long long usec);
> > > +	void (*setup)(void);
> > > +	void (*cleanup)(void);
> > > +};
> > 
> > I'd rather keep tst_test struct and expose some new function,
> > that would do all of this.
> > 
> > void test_all()
> > {
> >     tst_timer_test("select()", test_sample_function);
> > }
> > 
> > void tst_timer_test(fn_name, test_sample_function)
> > {
> >   timer_parse_options();
> >   timer_setup();
> >   for n ... {
> >      do_timer_test(timer_tcases[n].usec, timer_tcases[n].samples,
> >      test_sample_function);
> >   }
> >   timer_cleanup();
> > }
> > 
> > What I'm afraid of is that we end up mirror-ing lot of functionality
> > in tst_test struct: needsroot, tmpdir, kernelversion, extra parameter
> 
> Hmm, we can also fill in the standard tst_test structure in the test
> then "override" some of the fields in the timer test library.
> 
> I.e. test defines tst_test structure and the sampling function, timer
> library main() stores and replaces setup & cleanup, sets the test
> function then calls the tst_run_tcases() function. Does that sound
> better?

Yes. This would mean we extend tst_test struct and add sampling function.
As long as rest of fields continue to work (with some exceptions [1]),
it sounds good.

I see you still want to keep timer library main(), but I'm not sure
how you are going to select it instead of tst_test main.

[1] obvious exception is that we can't allow test/test_all and
sampling function at the same time.

  reply	other threads:[~2017-05-30 13:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-26 12:33 [LTP] [RFC] [PATCH] syscalls: Add timer measurement library Cyril Hrubis
2017-05-29 15:53 ` Jan Stancek
2017-05-30 12:15   ` Cyril Hrubis
2017-05-30 13:17     ` Jan Stancek [this message]
2017-05-31  8:30       ` Cyril Hrubis
2017-05-31  8:42         ` Cyril Hrubis
2017-05-31 10:51         ` Jan Stancek
2017-06-01  8:01           ` 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=502320923.23716336.1496150233908.JavaMail.zimbra@redhat.com \
    --to=jstancek@redhat.com \
    --cc=ltp@lists.linux.it \
    /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.