[Piglit] [PATCH 00/35] Serialize profiles into XML at build time

Dylan Baker dylan at pnwbakers.com
Tue May 8 20:42:43 UTC 2018


Quoting Michel Dänzer (2018-05-08 07:07:34)
> On 2018-05-07 06:49 PM, Michel Dänzer wrote:
> > On 2018-05-07 06:44 PM, Dylan Baker wrote:
> >> Quoting Tomi Sarvela (2018-05-07 01:20:46)
> >>>
> >>> piglit/framework$ diff -c profile.py.orig profile.py
> >>> *** profile.py.orig     2018-05-07 19:11:37.649994643 +0300
> >>> --- profile.py  2018-05-07 19:11:46.880994608 +0300
> >>> ***************
> >>> *** 584,591 ****
> >>>                # more code, and adding side-effects
> >>>                test_list = (x for x in test_list if filterby(x))
> >>>
> >>> !         pool.imap(lambda pair: test(pair[0], pair[1], profile, pool),
> >>> !                   test_list, chunksize)
> >>>
> >>>        def run_profile(profile, test_list):
> >>>            """Run an individual profile."""
> >>> --- 584,591 ----
> >>>                # more code, and adding side-effects
> >>>                test_list = (x for x in test_list if filterby(x))
> >>>
> >>> !         pool.map(lambda pair: test(pair[0], pair[1], profile, pool),
> >>> !                  test_list, chunksize)
> >>>
> >>>        def run_profile(profile, test_list):
> >>>            """Run an individual profile."""
> >>>
> >>>
> >>> Tomi
> >>
> >> Juan, can you test this patch and see if it resolves your issue as well? I'm not
> >> sure why this is fixing things, but if it does I'm happy to merge it and deal
> >> with any performance problems it introduces later.
> > 
> > FWIW, this patch doesn't fix the gpu profile running a lot fewer tests
> > now than it did before 9461d92301e72807eba4776a16a05207e3a16477. I'm
> > also using -x.
> 
> I just bisected another problem to
> 9461d92301e72807eba4776a16a05207e3a16477: The xts-render profile doesn't
> work anymore. Most of the time, it doesn't even start:
> 
> [000/480]  
> Traceback (most recent call last):
>   File "./piglit", line 178, in <module>
>     main()
>   File "./piglit", line 174, in main
>     sys.exit(runner(args))
>   File "/home/daenzer/src/piglit-git/piglit/framework/exceptions.py", line 51, in _inner
>     func(*args, **kwargs)
>   File "/home/daenzer/src/piglit-git/piglit/framework/programs/run.py", line 370, in run
>     backend.finalize({'time_elapsed': time_elapsed.to_json()})
>   File "/home/daenzer/src/piglit-git/piglit/framework/backends/json.py", line 163, in finalize
>     assert data['tests']
> AssertionError
> 
> Sometimes, it doesn't fail like this, but only runs between 0 and another
> number < 480 of tests. Very rarely, it manages to run all tests.
> 
> (I'm using python 3.6 now)
> 

I have a patch for this on the list (I cc'd you). I've identified the other
problem, and I have a fix for part of it, the second part is obnoxious.

The first part is pool.imap with an iterator isn't reliable, I've got a patch
for that. The second is that quick_shader has a filter that doesn't do the same
thing if called multiple times. I'm trying to decide how best to solve that
right now.

Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20180508/c11606af/attachment.sig>


More information about the Piglit mailing list