public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 10/16] i915/gem_exec_whisper: Fork all-engine tests one-per-engine
Date: Thu, 16 May 2019 09:57:08 +0100	[thread overview]
Message-ID: <07c9675f-ac62-a6c5-cf3a-ff4266109a83@linux.intel.com> (raw)
In-Reply-To: <155794892504.12244.2181516924164471431@skylake-alporthouse-com>


On 15/05/2019 20:35, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2019-05-14 13:57:26)
>>
>> On 08/05/2019 11:09, Chris Wilson wrote:
>>> Add a new mode for some more stress, submit the all-engines tests
>>> simultaneously, a stream per engine.
>>>
>>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> ---
>>>    tests/i915/gem_exec_whisper.c | 27 ++++++++++++++++++++++-----
>>>    1 file changed, 22 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/tests/i915/gem_exec_whisper.c b/tests/i915/gem_exec_whisper.c
>>> index d3e0b0ba2..d5afc8119 100644
>>> --- a/tests/i915/gem_exec_whisper.c
>>> +++ b/tests/i915/gem_exec_whisper.c
>>> @@ -88,6 +88,7 @@ static void verify_reloc(int fd, uint32_t handle,
>>>    #define SYNC 0x40
>>>    #define PRIORITY 0x80
>>>    #define QUEUES 0x100
>>> +#define ALL 0x200
>>>    
>>>    struct hang {
>>>        struct drm_i915_gem_exec_object2 obj;
>>> @@ -199,6 +200,7 @@ static void whisper(int fd, unsigned engine, unsigned flags)
>>>        uint64_t old_offset;
>>>        int i, n, loc;
>>>        int debugfs;
>>> +     int nchild;
>>>    
>>>        if (flags & PRIORITY) {
>>>                igt_require(gem_scheduler_enabled(fd));
>>> @@ -215,6 +217,7 @@ static void whisper(int fd, unsigned engine, unsigned flags)
>>>                                engines[nengine++] = engine;
>>>                }
>>>        } else {
>>> +             igt_assert(!(flags & ALL));
>>>                igt_require(gem_has_ring(fd, engine));
>>>                igt_require(gem_can_store_dword(fd, engine));
>>>                engines[nengine++] = engine;
>>> @@ -233,11 +236,22 @@ static void whisper(int fd, unsigned engine, unsigned flags)
>>>        if (flags & HANG)
>>>                init_hang(&hang);
>>>    
>>> +     nchild = 1;
>>> +     if (flags & FORKED)
>>> +             nchild *= sysconf(_SC_NPROCESSORS_ONLN);
>>> +     if (flags & ALL)
>>> +             nchild *= nengine;
>>> +
>>>        intel_detect_and_clear_missed_interrupts(fd);
>>>        gpu_power_read(&power, &sample[0]);
>>> -     igt_fork(child, flags & FORKED ? sysconf(_SC_NPROCESSORS_ONLN) : 1)  {
>>> +     igt_fork(child, nchild) {
>>>                unsigned int pass;
>>>    
>>> +             if (flags & ALL) {
>>> +                     engines[0] = engines[child % nengine];
>>
>> Relying on PIDs being sequential feels fragile but suggesting pipes or
>> shared memory would be overkill. How about another loop:
> 
> Where are you getting pid_t from? child is an integer [0, nchild).

Add a core helper to get it?

I am coming from an angle that I remember some time in the past there 
was a security thing which randomized pid allocation. TBH I am not sure 
if that still exists, but if it does then it would not be good for this 
test. May be moot point to think such security hardening measures would 
be active on a machine running IGT tests.. hm.. not sure. But it is 
still a quite hidden assumption.

Regards,

Tvrtko

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

  reply	other threads:[~2019-05-16  8:57 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-08 10:09 [igt-dev] [PATCH i-g-t 01/16] i915/gem_exec_schedule: Semaphore priority fixups Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 02/16] drm-uapi: Import i915_drm.h upto 53073249452d Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 03/16] i915: Add gem_vm_create Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 04/16] i915/gem_ctx_param: Test set/get (copy) VM Chris Wilson
2019-05-14  9:47   ` Tvrtko Ursulin
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 05/16] i915/gem_ctx_create: Basic checks for constructor properties Chris Wilson
2019-05-14 10:15   ` Tvrtko Ursulin
2019-05-15 19:05     ` Chris Wilson
2019-05-16  8:38       ` Tvrtko Ursulin
2019-05-22 10:24         ` Chris Wilson
2019-05-22 10:32           ` Tvrtko Ursulin
2019-05-14 12:27   ` Tvrtko Ursulin
2019-05-15 19:06     ` Chris Wilson
2019-05-15 19:09       ` Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 06/16] drm-uapi: Import i915_drm.h upto 364df3d04d51 Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 07/16] i915: Add gem_ctx_clone Chris Wilson
2019-05-14 12:41   ` Tvrtko Ursulin
2019-05-15 19:14     ` Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 08/16] i915: Exercise creating context with shared GTT Chris Wilson
2019-05-15  6:37   ` Tvrtko Ursulin
2019-05-15 19:33     ` Chris Wilson
2019-05-16  8:51       ` Tvrtko Ursulin
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 09/16] i915/gem_ctx_switch: Exercise queues Chris Wilson
2019-05-14 12:47   ` Tvrtko Ursulin
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 10/16] i915/gem_exec_whisper: Fork all-engine tests one-per-engine Chris Wilson
2019-05-14 12:57   ` Tvrtko Ursulin
2019-05-15 19:35     ` Chris Wilson
2019-05-16  8:57       ` Tvrtko Ursulin [this message]
2019-05-22 10:59         ` Chris Wilson
2019-05-22 11:39           ` Tvrtko Ursulin
2019-05-08 10:09 ` [Intel-gfx] [PATCH i-g-t 11/16] i915/gem_exec_whisper: debugfs/next_seqno is defunct Chris Wilson
2019-05-14 12:48   ` [igt-dev] " Tvrtko Ursulin
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 12/16] i915: Add gem_ctx_engines Chris Wilson
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 13/16] i915: Add gem_exec_balancer Chris Wilson
2019-05-15 10:49   ` Tvrtko Ursulin
2019-05-15 19:50     ` Chris Wilson
2019-05-16  9:20       ` Tvrtko Ursulin
2019-05-08 10:09 ` [igt-dev] [PATCH i-g-t 14/16] i915/gem_exec_balancer: Exercise bonded pairs Chris Wilson
2019-05-15 10:58   ` Tvrtko Ursulin
2019-05-15 19:57     ` Chris Wilson
2019-05-15 20:32       ` Chris Wilson
2019-05-16  9:28         ` Tvrtko Ursulin
2019-05-08 10:09 ` [Intel-gfx] [PATCH i-g-t 15/16] i915/gem_exec_latency: Measure the latency of context switching Chris Wilson
2019-05-08 10:09 ` [Intel-gfx] [PATCH i-g-t 16/16] i915/gem_exec_latency: Add another variant of waiter latency Chris Wilson
2019-05-08 10:41 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,01/16] i915/gem_exec_schedule: Semaphore priority fixups Patchwork
2019-05-08 12:38 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-05-14  9:39 ` [igt-dev] [PATCH i-g-t 01/16] " Tvrtko Ursulin

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=07c9675f-ac62-a6c5-cf3a-ff4266109a83@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox