All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Kahola <mika.kahola@intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH i-g-t 1/3] lib/igt_aux: Export statistics of signal helper.
Date: Fri, 04 Aug 2017 10:46:49 +0300	[thread overview]
Message-ID: <1501832809.16922.32.camel@intel.com> (raw)
In-Reply-To: <20170802102919.13340-1-maarten.lankhorst@linux.intel.com>

On Wed, 2017-08-02 at 12:29 +0200, Maarten Lankhorst wrote:
> Export 2 functions, igt_signal_helper_get_num and
> igt_signal_helper_get_hz.
> 
> This will allow tests to measure how much time in a test was spent
> in a uninterruptible state, which is useful when testing whether
> certain ioctl's can be interrupted or not.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  lib/igt_aux.c | 30 +++++++++++++++++++++++++++---
>  lib/igt_aux.h |  2 ++
>  2 files changed, 29 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/igt_aux.c b/lib/igt_aux.c
> index 86a213c2032f..265e43f399e7 100644
> --- a/lib/igt_aux.c
> +++ b/lib/igt_aux.c
> @@ -275,7 +275,7 @@ bool __igt_sigiter_continue(struct __igt_sigiter
> *iter, bool enable)
>  }
>  
>  static struct igt_helper_process signal_helper;
> -long long int sig_stat;
> +static int64_t sig_stat;
>  static void __attribute__((noreturn)) signal_helper_process(pid_t
> pid)
>  {
>  	/* Interrupt the parent process at 500Hz, just to be
> annoying */
> @@ -314,6 +314,9 @@ void igt_fork_signal_helper(void)
>  	if (igt_only_list_subtests())
>  		return;
>  
> +	/* Reset number of signalscaught */
> +	sig_stat = 0;
> +
>  	/* We pick SIGCONT as it is a "safe" signal - if we send
> SIGCONT to
>  	 * an unexpecting process it spuriously wakes up and does
> nothing.
>  	 * Most other signals (e.g. SIGUSR1) cause the process to
> die if they
> @@ -348,8 +351,29 @@ void igt_stop_signal_helper(void)
>  		return;
>  
>  	igt_stop_helper(&signal_helper);
> +}
>  
> -	sig_stat = 0;
> +/**
> + * igt_signal_helper_get_num:
> + *
> + * Return the amount of signals generated since the last time
> + * igt_fork_signal_helper() was called.
> + *
> + * This is reset to 0 on every call to igt_fork_signal_helper.
> + */
> +int64_t igt_signal_helper_get_num(void)
> +{
> +	return sig_stat;
> +}
> +
> +/**
> + * igt_signal_helper_get_hz:
> + *
> + * Return the approximate amount of signals generated per second.
> + */
> +int igt_signal_helper_get_hz(void)
> +{
> +	return 50;
>  }
I wonder if this is really necessary? The function returns hardcoded
value and it is only used in one place i.e. third patch of this series.
>  
>  static struct igt_helper_process shrink_helper;
> @@ -357,7 +381,7 @@ static void __attribute__((noreturn))
> shrink_helper_process(int fd, pid_t pid)
>  {
>  	while (1) {
>  		igt_drop_caches_set(fd, DROP_SHRINK_ALL);
> -		usleep(1000 * 1000 / 50);
> +		usleep(1000 * 1000 / igt_signal_helper_get_hz());
>  		if (kill(pid, 0)) /* Parent has died, so must we. */
>  			exit(0);
>  	}
> diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> index 499a16796ebb..7e080089dcbc 100644
> --- a/lib/igt_aux.h
> +++ b/lib/igt_aux.h
> @@ -55,6 +55,8 @@ extern int num_trash_bos;
>  /* generally useful helpers */
>  void igt_fork_signal_helper(void);
>  void igt_stop_signal_helper(void);
> +int64_t igt_signal_helper_get_num(void);
> +int igt_signal_helper_get_hz(void);
>  
>  void igt_fork_shrink_helper(int fd);
>  void igt_stop_shrink_helper(void);
-- 
Mika Kahola - Intel OTC

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2017-08-04  7:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-02 10:29 [PATCH i-g-t 1/3] lib/igt_aux: Export statistics of signal helper Maarten Lankhorst
2017-08-02 10:29 ` [PATCH i-g-t 2/3] lib/igt_kms: Remove vblank wait after plane update Maarten Lankhorst
2017-08-04  8:07   ` Mika Kahola
2017-08-07  8:42     ` Maarten Lankhorst
2017-08-08  9:30       ` Mika Kahola
2017-08-02 10:29 ` [PATCH i-g-t 3/3] tests: Add kms_atomic_interruptible test Maarten Lankhorst
2017-08-04  7:50   ` Mika Kahola
2017-08-07  8:47     ` Maarten Lankhorst
2017-08-04  7:46 ` Mika Kahola [this message]
2017-08-04  7:50 ` [PATCH i-g-t 1/3] lib/igt_aux: Export statistics of signal helper Chris Wilson
2017-08-07  9:45   ` Maarten Lankhorst
2017-08-07  9:59     ` Chris Wilson
2017-08-07 15:51       ` Daniel Vetter

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=1501832809.16922.32.camel@intel.com \
    --to=mika.kahola@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=maarten.lankhorst@linux.intel.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.