<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:SimSun;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:windowtext">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:windowtext"> Vetter, Daniel
<br>
<b>Sent:</b> Wednesday, April 16, 2014 1:18 AM<br>
<b>To:</b> Yang, Guang A; Barnes, Jesse; Widawsky, Benjamin; Wood, Thomas; Jin, Gordon; OTC GFX QA Extended; intel-gfx@lists.freedesktop.org; Parenteau, Paul A; Nikkanen, Kimmo<br>
<b>Subject:</b> Re: The whole round of i-g-t testing cost too long running time<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">On 15/04/2014 17:46, Yang, Guang A wrote:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Hi all,<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:21.0pt">
<span lang="EN-US">I have discussed with Daniel about the running time for each cases before and we set the standard as 10M, if one can</span>’<span lang="EN-US">t finish after running 10M we will see it as Timeout and report bug on FDO(such as :  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=77474"><span style="color:black;text-decoration:none">Bug 77474</span></a> - [PNV/IVB/HSW]igt/gem_tiled_swapping
 is slow and <a href="https://bugs.freedesktop.org/show_bug.cgi?id=77475"><span style="color:black;text-decoration:none">Bug 77475</span></a> - [PNV/IVB/HSW]igt//kms_pipe_crc_basic/read-crc-pipe-A is slow)<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:21.0pt">
<span lang="EN-US">Now the true status is that i-g-t have more than 650+ subcases, running a whole round of testing will cost such a long time on QA side(<b>beside that Timeout cases</b>), QA also need to spend more time to analysis the result changing on each
 platforms.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:21.0pt">
<span lang="EN-US">You can find an example with this page: <a href="http://tinderbox.sh.intel.com/PRTS_UI/prtsresult.php?task_id=2778">
http://tinderbox.sh.intel.com/PRTS_UI/prtsresult.php?task_id=2778</a> for how long one testing round cost.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:21.0pt">
<span lang="EN-US">With the table of subtask:10831 on the page which for i-g-t test cases on BDW. Testing start at 19:16 PM and finished at 03:25 AM the next day, cost about
<b>8 hours</b> to run 638 test cases.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:21.0pt">
<span lang="EN-US">Each cases finished less than 10M as we expect, but the full time it too large, especially the BDW is the powerful machine on our side, ILK or PNV may take more than
<b>10 hours</b>. We not only run i-g-t but also need to test the piglit/performance/media which already need time.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-indent:21.0pt">
<span lang="EN-US">Do we have any solutions to reduce the running time for whole i-g-t? it</span>’<span lang="EN-US">s a pressing problem for QA after seeing the i-g-t case count enhance from 50 ->600+.<o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">Ok there are a few cases where we can indeed make tests faster, but it will be work for us. And that won't really speed up much since we're adding piles more testcases at a pretty quick rate. And many of these new testcases
 are CRC based, so inheritely take some time to run.</span><span lang="EN-US" style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[He, Shuang] OK, so it takes at least n/60 in usual case to have result detected plus additional execution time, depending on how many rounds
 of testing. We will be absolutely happy to see more tests coming that is useful<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span lang="EN-US"><br>
So I think longer-term we simply need to throw more machines at the problem and run testcases in parallel on identical machines.</span><span lang="EN-US" style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[He, Shuang] This would be the perfect way to go if all tests are really feasible to take long time to run. If we get more identical test
 machines, then problem solved<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span lang="EN-US"><br>
Wrt analyzing issues I think the right approach for moving forward is:<br>
a) switch to piglit to run tests, not just enumerate them. This will allow QA and developers to share testcase analysis.</span><span lang="EN-US" style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[He, Shuang] Yes, though this could not actually accelerate the test. We could directly wrap over piglit to run testing (have other control
 process to monitor and collecting test results)<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span lang="EN-US"><br>
b) add automated analysis for time-consuming and error prone cases like dmesg warnings and backtraces. Thomas&I have just discussed a few ideas in this are in our 1:1 today.<br>
<br>
Reducing the set of igt tests we run is imo pointless: The goal of igt is to hit corner-cases, arbitrarily selecting which kinds of corner-cases we test just means that we have a nice illusion about our test coverage.</span><span lang="EN-US" style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[He, Shuang] I don’t think select a subset of test cases to run is pointless. It’s a trade-off between speed and correctness. For our nightly
 testing it’s not so useful to run only a small set of testing. But for fast sanity testing, it should be easier, which is supposed to catch regression in major/critical functionality (So other developers and QA could continue their work).<o:p></o:p></span></i></b></p>
<p class="MsoNormal"><span lang="EN-US"><br>
<br>
Adding more people to the discussion.<br>
<br>
Cheers, Daniel<o:p></o:p></span></p>
</div>
</body>
</html>