All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	igt-dev@lists.freedesktop.org
Cc: Intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH i-g-t v4] tests/perf_pmu: Avoid RT thread for accuracy test
Date: Mon, 16 Apr 2018 10:55:29 +0100	[thread overview]
Message-ID: <476803d1-9c91-2dff-f48d-457a42ba0ab1@linux.intel.com> (raw)
In-Reply-To: <152370571546.2662.4773011758653866605@mail.alporthouse.com>


On 14/04/2018 12:35, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2018-04-11 14:52:36)
>>
>> On 11/04/2018 14:23, Chris Wilson wrote:
>>> Quoting Tvrtko Ursulin (2018-04-04 10:51:52)
>>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>>
>>>> Realtime scheduling interferes with execlists submission (tasklet) so try
>>>> to simplify the PWM loop in a few ways:
>>>>
>>>>    * Drop RT.
>>>>    * Longer batches for smaller systematic error.
>>>>    * More truthful test duration calculation.
>>>>    * Less clock queries.
>>>>    * No self-adjust - instead just report the achieved cycle and let the
>>>>      parent check against it.
>>>>    * Report absolute cycle error.
>>>>
>>>> v2:
>>>>    * Bring back self-adjust. (Chris Wilson)
>>>>      (But slightly fixed version with no overflow.)
>>>>
>>>> v3:
>>>>    * Log average and mean calibration for each pass.
>>>>
>>>> v4:
>>>>    * Eliminate development leftovers.
>>>>    * Fix variance logging.
>>>>
>>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>>   From a pragmatic point of view, there's no point waiting for me to be
>>> happy with the convergence if CI is, and the variance will definitely be
>>> interesting (although you could have used igt_mean to compute the
>>> iterative variance), so
>>>
>>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>>
>> Thanks, I've pushed it and so we'll see.
> 
> We should resurrect the RT variant in the near future. It's definitely
> an issue in our driver that random userspace can impact execution of
> unconnected others. (Handling RT starvation of workers is something we
> have to be aware of elsewhere, commonly hits oom if we don't have an
> escape clause.) Lots of words just to say, we should add a test for RT
> to exercise the bad behaviour. Hmm, doesn't need to be pmu, just we need
> an assertion that execution latency is bounded and no RT hog will delay
> it.

Agreed, I can add a simple test to gem_exec_latency.

But with regards on how to fix this - re-enabling direct submission 
sounds simplest (not only indirect via tasklet) in theory although I do 
remember you were raising some issues with this route last time I 
mentioned it. It does sound like a conceptually correct thing to do.

As an alternative we could explore conversion effort and resulting 
latencies from conversion to threaded irq handler.

You also had a patch to improve tasklet scheduling in some cases now I 
remember. We can try that after I write the test as well. Although I 
have no idea how hard of a sell that would be.

Regards,

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

WARNING: multiple messages have this Message-ID (diff)
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	igt-dev@lists.freedesktop.org
Cc: Intel-gfx@lists.freedesktop.org
Subject: Re: [igt-dev] [Intel-gfx] [PATCH i-g-t v4] tests/perf_pmu: Avoid RT thread for accuracy test
Date: Mon, 16 Apr 2018 10:55:29 +0100	[thread overview]
Message-ID: <476803d1-9c91-2dff-f48d-457a42ba0ab1@linux.intel.com> (raw)
In-Reply-To: <152370571546.2662.4773011758653866605@mail.alporthouse.com>


On 14/04/2018 12:35, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2018-04-11 14:52:36)
>>
>> On 11/04/2018 14:23, Chris Wilson wrote:
>>> Quoting Tvrtko Ursulin (2018-04-04 10:51:52)
>>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>>
>>>> Realtime scheduling interferes with execlists submission (tasklet) so try
>>>> to simplify the PWM loop in a few ways:
>>>>
>>>>    * Drop RT.
>>>>    * Longer batches for smaller systematic error.
>>>>    * More truthful test duration calculation.
>>>>    * Less clock queries.
>>>>    * No self-adjust - instead just report the achieved cycle and let the
>>>>      parent check against it.
>>>>    * Report absolute cycle error.
>>>>
>>>> v2:
>>>>    * Bring back self-adjust. (Chris Wilson)
>>>>      (But slightly fixed version with no overflow.)
>>>>
>>>> v3:
>>>>    * Log average and mean calibration for each pass.
>>>>
>>>> v4:
>>>>    * Eliminate development leftovers.
>>>>    * Fix variance logging.
>>>>
>>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>>   From a pragmatic point of view, there's no point waiting for me to be
>>> happy with the convergence if CI is, and the variance will definitely be
>>> interesting (although you could have used igt_mean to compute the
>>> iterative variance), so
>>>
>>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>>
>> Thanks, I've pushed it and so we'll see.
> 
> We should resurrect the RT variant in the near future. It's definitely
> an issue in our driver that random userspace can impact execution of
> unconnected others. (Handling RT starvation of workers is something we
> have to be aware of elsewhere, commonly hits oom if we don't have an
> escape clause.) Lots of words just to say, we should add a test for RT
> to exercise the bad behaviour. Hmm, doesn't need to be pmu, just we need
> an assertion that execution latency is bounded and no RT hog will delay
> it.

Agreed, I can add a simple test to gem_exec_latency.

But with regards on how to fix this - re-enabling direct submission 
sounds simplest (not only indirect via tasklet) in theory although I do 
remember you were raising some issues with this route last time I 
mentioned it. It does sound like a conceptually correct thing to do.

As an alternative we could explore conversion effort and resulting 
latencies from conversion to threaded irq handler.

You also had a patch to improve tasklet scheduling in some cases now I 
remember. We can try that after I write the test as well. Although I 
have no idea how hard of a sell that would be.

Regards,

Tvrtko
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2018-04-16  9:55 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-26 10:57 [CI i-g-t] tests/perf_pmu: Avoid RT thread for accuracy test Tvrtko Ursulin
2018-03-26 10:57 ` [Intel-gfx] " Tvrtko Ursulin
2018-03-26 11:17 ` [igt-dev] " Chris Wilson
2018-03-26 11:17   ` Chris Wilson
2018-03-26 12:40   ` Tvrtko Ursulin
2018-03-26 12:40     ` [igt-dev] [Intel-gfx] " Tvrtko Ursulin
2018-03-26 11:23 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-03-26 13:04 ` [igt-dev] ✗ Fi.CI.IGT: warning " Patchwork
2018-03-27 14:31 ` [igt-dev] ✗ Fi.CI.BAT: failure " Patchwork
2018-03-27 17:08 ` [igt-dev] ✗ Fi.CI.BAT: warning " Patchwork
2018-03-28  9:22 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2018-03-28 14:36 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-03-28 16:56   ` Tvrtko Ursulin
2018-03-28 17:10     ` Chris Wilson
2018-04-03 12:38 ` [PATCH i-g-t v2] " Tvrtko Ursulin
2018-04-03 12:38   ` [Intel-gfx] " Tvrtko Ursulin
2018-04-03 13:10   ` Chris Wilson
2018-04-03 13:10     ` [igt-dev] [Intel-gfx] " Chris Wilson
2018-04-03 16:09     ` Tvrtko Ursulin
2018-04-03 16:09       ` [Intel-gfx] " Tvrtko Ursulin
2018-04-03 16:24       ` Chris Wilson
2018-04-03 16:24         ` [igt-dev] [Intel-gfx] " Chris Wilson
2018-04-03 16:39   ` [PATCH i-g-t v3] " Tvrtko Ursulin
2018-04-03 16:39     ` [igt-dev] " Tvrtko Ursulin
2018-04-04  9:51     ` [PATCH i-g-t v4] " Tvrtko Ursulin
2018-04-04  9:51       ` [Intel-gfx] " Tvrtko Ursulin
2018-04-11 13:23       ` Chris Wilson
2018-04-11 13:23         ` [igt-dev] [Intel-gfx] " Chris Wilson
2018-04-11 13:52         ` Tvrtko Ursulin
2018-04-11 13:52           ` [igt-dev] [Intel-gfx] " Tvrtko Ursulin
2018-04-14 11:35           ` Chris Wilson
2018-04-14 11:35             ` [igt-dev] [Intel-gfx] " Chris Wilson
2018-04-16  9:55             ` Tvrtko Ursulin [this message]
2018-04-16  9:55               ` Tvrtko Ursulin
2018-04-16 10:08               ` Chris Wilson
2018-04-16 10:08                 ` [igt-dev] [Intel-gfx] " Chris Wilson
2018-04-03 14:23 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf_pmu: Avoid RT thread for accuracy test (rev2) Patchwork
2018-04-03 16:41 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-04-03 17:15 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf_pmu: Avoid RT thread for accuracy test (rev3) Patchwork
2018-04-03 18:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2018-04-04 11:13   ` Tvrtko Ursulin
2018-04-04 13:46 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/perf_pmu: Avoid RT thread for accuracy test (rev4) Patchwork
2018-04-04 16:58 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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=476803d1-9c91-2dff-f48d-457a42ba0ab1@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=Intel-gfx@lists.freedesktop.org \
    --cc=chris@chris-wilson.co.uk \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=tursulin@ursulin.net \
    /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.