Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-29 Thread Alyssa Rosenzweig
> A typical run takes around 20 mins and the time spent besides running the
> tests themselves is a small part.

Oh, nice! That's a lot quicker than I expected :)

> Well, this is information about the code, so I think it makes sense to store
> it alongside it. It really needs to be kept in sync so we can know what code
> changes broke the expectations.
> 
> But as Eric mentioned, we should probably store only failures, which will
> (hopefully :)) reduce with time.

There you go, then :)

> Well, a diff will be produced after a failed run. One should be able to just
> add that diff to the commit that fixed stuff and submit that for code
> review.

...Sounds automated to me! :)

> Will checkout a release tag as per Eric's comment.

+1

> It's only once every 5k tests, so it may not be that bad :)

Sure :P
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-29 Thread Alyssa Rosenzweig
+1
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-29 Thread Tomeu Vizoso

On 4/26/19 9:14 PM, Eric Anholt wrote:

Alyssa Rosenzweig  writes:


We start by building a container in Docker that contains a suitable
rootfs and kernel for the DUT, deqp and all dependencies for building
Mesa itself.


Out of curiosity, what's the performance impact of this? If there are no
changes to the kernel or to deqp (but mesa had a commit somewhere in
Panfrost space), do we have to rebuild the former two? Does ccache maybe
pick that up? I'm trying to get a sense for how long it takes between
pushing a commit and getting a CI answer, and maybe if that can be
shortened.


the expectations that are stored
in git.


Might it be better to track this outside so we don't pollute mesa with
changes to that largely autogenerated file? Or I guess that's
problematic since then we lose branch information / etc.


Hopefully just current expected fails get stored in git.


Actually, passes were being stored as well :)

Thanks for the idea!


Is there an automated way to do this based on the results of LAVA/CI?

+  git clone --depth 1 https://github.com/KhronosGroup/VK-GL-CTS.git .   
&& \


Is this the right repo? I recall getting deqp source from Google's
servers (Chromium git). I suppose it's the same.


VK-GL-CTS is the official conformance suite, and it includes dEQP.  You
need to use a release tag, or you'll have extra garbage tests expecting
nonstandardized behavior being run.  Same for dEQP master.


Done.

Thanks,

Tomeu
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-29 Thread Tomeu Vizoso

On 4/26/19 6:24 PM, Alyssa Rosenzweig wrote:

We start by building a container in Docker that contains a suitable
rootfs and kernel for the DUT, deqp and all dependencies for building
Mesa itself.


Out of curiosity, what's the performance impact of this? If there are no
changes to the kernel or to deqp (but mesa had a commit somewhere in
Panfrost space), do we have to rebuild the former two? Does ccache maybe
pick that up? I'm trying to get a sense for how long it takes between
pushing a commit and getting a CI answer, and maybe if that can be
shortened.


A typical run takes around 20 mins and the time spent besides running the 
tests themselves is a small part.


https://gitlab.freedesktop.org/tomeu/mesa/pipelines/33402

We use Docker to cache as much as possible, and then use ccache when 
building Mesa. Depending on which runner is assigned, we may find a 
useful ccache dir, or not.



the expectations that are stored
in git.


Might it be better to track this outside so we don't pollute mesa with
changes to that largely autogenerated file? Or I guess that's
problematic since then we lose branch information / etc.


Well, this is information about the code, so I think it makes sense to 
store it alongside it. It really needs to be kept in sync so we can know 
what code changes broke the expectations.


But as Eric mentioned, we should probably store only failures, which will 
(hopefully :)) reduce with time.



Any code that changes the expectations (hopefully tests are
fixed) needs to also update the expectations file.


Is there an automated way to do this based on the results of LAVA/CI?


Well, a diff will be produced after a failed run. One should be able to 
just add that diff to the commit that fixed stuff and submit that for 
code review.



+  git clone --depth 1 https://github.com/KhronosGroup/VK-GL-CTS.git .   
&& \


Is this the right repo? I recall getting deqp source from Google's
servers (Chromium git). I suppose it's the same.


Will checkout a release tag as per Eric's comment.


+  git clone --depth 1 https://gitlab.freedesktop.org/tomeu/mesa.git -b panfrost-ci . 
&& \


U


Oops :)


+# To prevent memory leaks from slowing throughput, restart everything between 
batches


*blush*



It's only once every 5k tests, so it may not be that bad :)

Thanks,

Tomeu
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-26 Thread Alyssa Rosenzweig
> Hopefully just current expected fails get stored in git.

ATM it looks like both passes and fails are there. Also, we're failing
thousands of tests in GLES2 alone...

> VK-GL-CTS is the official conformance suite, and it includes dEQP.  You
> need to use a release tag, or you'll have extra garbage tests expecting
> nonstandardized behavior being run.  Same for dEQP master.

Ah-ha, gotcha, thank you!
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-26 Thread Eric Anholt
Alyssa Rosenzweig  writes:

>> We start by building a container in Docker that contains a suitable
>> rootfs and kernel for the DUT, deqp and all dependencies for building
>> Mesa itself.
>
> Out of curiosity, what's the performance impact of this? If there are no
> changes to the kernel or to deqp (but mesa had a commit somewhere in
> Panfrost space), do we have to rebuild the former two? Does ccache maybe
> pick that up? I'm trying to get a sense for how long it takes between
> pushing a commit and getting a CI answer, and maybe if that can be
> shortened.
>
>> the expectations that are stored
>> in git.
>
> Might it be better to track this outside so we don't pollute mesa with
> changes to that largely autogenerated file? Or I guess that's
> problematic since then we lose branch information / etc.

Hopefully just current expected fails get stored in git.

> Is there an automated way to do this based on the results of LAVA/CI?
>> +  git clone --depth 1 https://github.com/KhronosGroup/VK-GL-CTS.git .   
>> && \
>
> Is this the right repo? I recall getting deqp source from Google's
> servers (Chromium git). I suppose it's the same.

VK-GL-CTS is the official conformance suite, and it includes dEQP.  You
need to use a release tag, or you'll have extra garbage tests expecting
nonstandardized behavior being run.  Same for dEQP master.


signature.asc
Description: PGP signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] panfrosti/ci: Initial commit

2019-04-26 Thread Alyssa Rosenzweig
> We start by building a container in Docker that contains a suitable
> rootfs and kernel for the DUT, deqp and all dependencies for building
> Mesa itself.

Out of curiosity, what's the performance impact of this? If there are no
changes to the kernel or to deqp (but mesa had a commit somewhere in
Panfrost space), do we have to rebuild the former two? Does ccache maybe
pick that up? I'm trying to get a sense for how long it takes between
pushing a commit and getting a CI answer, and maybe if that can be
shortened.

> the expectations that are stored
> in git.

Might it be better to track this outside so we don't pollute mesa with
changes to that largely autogenerated file? Or I guess that's
problematic since then we lose branch information / etc.

> Any code that changes the expectations (hopefully tests are
> fixed) needs to also update the expectations file.

Is there an automated way to do this based on the results of LAVA/CI?
> +  git clone --depth 1 https://github.com/KhronosGroup/VK-GL-CTS.git .
>&& \

Is this the right repo? I recall getting deqp source from Google's
servers (Chromium git). I suppose it's the same.

> +  git clone --depth 1 https://gitlab.freedesktop.org/tomeu/mesa.git -b 
> panfrost-ci . && \

U

> +# To prevent memory leaks from slowing throughput, restart everything 
> between batches

*blush*
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev