[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 3/5] automation: Add the expect script with test case for FVP


  • To: Julien Grall <julien@xxxxxxx>
  • From: Henry Wang <Henry.Wang@xxxxxxx>
  • Date: Fri, 8 Dec 2023 12:17:34 +0000
  • Accept-language: zh-CN, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DwGDt1w4oiea6jPH0q9wgRDo8KSF8ZhzqkJX98j04A8=; b=B8XZJMR4RtLlbfhM/3stuf0KRViFIRKZ8bxQx5U5mKqi+JmubVY/BwoTvLbw31PXDuGQTt9+TIuw8a+d4GRED7GdobLaqWLJfqVkalr8/kM+m10XW2yO0hxc6wTc/DL/QUjXCzM8GZZYDoWmKYQqZ/AQOzJHr8q1ZbKdLAT1MeTGVr6jRvlnn6ijsD2/Dkl4HDO9tl3NwACTVP1eVwjvayWpH53LWJr8FJYG0IiFvofLYMcG18fyCau90uWEzrcJT+Vn1DO/qWlZcKa7IDSHtFoFDXZF+o39fRUzOPhBwm66Ru7zTd8s3cVQQYGotIRMBwWkz/jeNcN8Na0Sse6dGA==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DwGDt1w4oiea6jPH0q9wgRDo8KSF8ZhzqkJX98j04A8=; b=IouefIVqi+h4dxJi86e98SwZVuVXaEbth6W9D7kl1tObdXAZzvo+26y6KfWhyhnyd+t1OF5gxIDf/hqFPoE0OkL4W3G9OudZ90vrJOlStNA665rmwjYQQHZeiH5g8f5y0wu7A89Rx6Eo2x97GeJkS/NBnFI+Gw/T0esi3S20M96SjHNbO3DGSuGSq27KQsYcteuL7NERRHe45jRX15ydPA+3GEoycvIFhfsrkfba5AVw52kjYMs1OnoxGt5GDwHAvdwduEl5OEwIVz3/EJO/X0vCnzS7QBe5hb8VCXn4Sf3JnybqhSNjdfSeNz0rSgN+E7Z8+5p2zUX4MsaX/Kty3g==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=EoAUl6Z+smPzfYYI/1X9Z8g8Ezh1mU3ZAgyhbZ2BuRUnPhEORIhP8Cw86wUc505VcX3eQjH6OHcX6LA2ZPCdh2r2oOQVnhDsltiFbS+x63ILcWmiL/8ZYGX4Rmmukm8mdyE+PrJMLHm0YR/ABXyo5X3qypPQdIp+qXJGSbcUw8KfdklnMCZ1qzOctSbCPm5kVVxB1lJcI5sep+Rvt/FUICz81TimTuF4kK32IvjFR/tRt1zUrpnG5C1JR85YIOEQ5vxsXcuN7CJspgwBu4PpzuRohSOW7zp9PWdVAOHrIvKbB9+u547TQSZkAlL3fP1tXxrrR/o4XPnoRPE2uKLggw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OZ241DnD7PW0c+XDnkSrkrUGjMJ5cgkz5cPlryEmaBZtLBIHbs+j3yhgu9A2TyU33KDwJY0Eq7r+GgFbJtlRQqK0y2RIHTZUdt/01weTYVh8eGJd9hrUFrV+r8N+ajFGb7R3BwxFLLoA602u2aHjP20E6kIijCsXWBiMdGn7odvx1xBsDH98hYLzF3HNntpMoudxPjESBdNl1piOAoShKLD0GPB+faI4LLuWJJ29ebZnNHhhvgVRRv2EG4x7y0tfeHDfaH67RUyYJ5+IPxCFfWaXyFGEiBF1t/O2yOWqA6V4JUWhPFynjfq+vcZ6Uxdw68TyBDiq4GSUYbM13Lq7XQ==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Michal Orzel <michal.orzel@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Wei Chen <Wei.Chen@xxxxxxx>
  • Delivery-date: Fri, 08 Dec 2023 12:17:53 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHaKZoAVIHO2rCYDECWUL8sUR2sfLCfFe6AgAACFwCAAAHkAIAAAsIAgAAIGgCAACWygIAAA1IA
  • Thread-topic: [PATCH v2 3/5] automation: Add the expect script with test case for FVP

Hi Julien,

> On Dec 8, 2023, at 20:05, Julien Grall <julien@xxxxxxx> wrote:
> 
> Hi,
> 
> On 08/12/2023 09:50, Michal Orzel wrote:
>> On 08/12/2023 10:21, Henry Wang wrote:
>>>> On Dec 8, 2023, at 17:11, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>>>> On 08/12/2023 10:05, Henry Wang wrote:
>>>>> 
>>>>> Hi Michal,
>>>>> 
>>>>>> On Dec 8, 2023, at 16:57, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>>>>>> 
>>>>>> Hi Henry,
>>>>>> 
>>>>>> On 08/12/2023 06:46, Henry Wang wrote:
>>>>>>> diff --git a/automation/scripts/expect/fvp-base-smoke-dom0-arm64.exp 
>>>>>>> b/automation/scripts/expect/fvp-base-smoke-dom0-arm64.exp
>>>>>>> new file mode 100755
>>>>>>> index 0000000000..25d9a5f81c
>>>>>>> --- /dev/null
>>>>>>> +++ b/automation/scripts/expect/fvp-base-smoke-dom0-arm64.exp
>>>>>>> @@ -0,0 +1,73 @@
>>>>>>> +#!/usr/bin/expect
>>>>>>> +
>>>>>>> +set timeout 2000
>>>>>> Do we really need such a big timeout (~30 min)?
>>>>>> Looking at your test job, it took 16 mins (quite a lot but I know FVP is 
>>>>>> slow
>>>>>> + send_slow slows things down)
>>>>> 
>>>>> This is a really good question. I did have the same question while 
>>>>> working on
>>>>> the negative test today. The timeout 2000 indeed will fail the job at 
>>>>> about 30min,
>>>>> and waiting for it is indeed not really pleasant.
>>>>> 
>>>>> But my second thought would be - from my observation, the overall time now
>>>>> would vary between 15min ~ 20min, and having a 10min margin is not that 
>>>>> crazy
>>>>> given that we probably will do more testing from the job in the future, 
>>>>> and if the
>>>>> GitLab Arm worker is high loaded, FVP will probably become slower. And 
>>>>> normally
>>>>> we don’t even trigger the timeout as the job will normally pass. So I 
>>>>> decided
>>>>> to keep this.
>>>>> 
>>>>> Mind sharing your thoughts about the better value of the timeout? 
>>>>> Probably 25min?
>>>> From what you said that the average is 15-20, I think we can leave it set 
>>>> to 30.
>>>> But I wonder if we can do something to decrease the average time. ~20 min 
>>>> is a lot
>>>> even for FVP :) Have you tried setting send_slow to something lower than 
>>>> 100ms?
>>>> That said, we don't send too many chars to FVP, so I doubt it would play a 
>>>> major role
>>>> in the overall time.
>>> 
>>> I agree with the send_slow part. Actually I do have the same concern, here 
>>> are my current
>>> understanding and I think you will definitely help with your knowledge:
>>> If you check the full log of Dom0 booting, for example [1], you will find 
>>> that we wasted so
>>> much time in starting the services of the OS (modloop, udev-settle, etc). 
>>> All of these services
>>> are retried many times but in the end they are still not up, and from my 
>>> understanding they
>>> won’t affect the actual test(?) If we can somehow get rid of these services 
>>> from rootfs, I think
>>> we can save a lot of time.
>>> 
>>> And honestly, I noticed that qemu-alpine-arm64-gcc suffers from the same 
>>> problem and it also
>>> takes around 15min to finish. So if we managed to tailor the services from 
>>> the filesystem, we
>>> can save a lot of time.
>> That is not true. Qemu runs the tests relatively fast within few minutes. 
>> The reason you see e.g. 12 mins
>> for some Qemu jobs comes from the timeout we set in Qemu scripts. We don't 
>> have yet the solution (we could
>> do the same as Qubes script) to detect the test success early and exit 
>> before timeout. That is why currently
>> the only way for Qemu tests to finish is by reaching the timeout.
>> So the problem is not with the rootfs and services (the improvement would 
>> not be significant) but with
>> the simulation being slow.
> 
> From my experience with the FVP improvement would be significant. A normal 
> boot distribution will start a lot of services. I end up to write my own 
> initscript doing the bare minimum for creating a guest. This saves me a lot 
> of time everytime I needed to test on FVP.

+1, I feel the same, but I've never done the time measurement though.

> I think we can do the same for the gitlab. Maybe not to the point of writing 
> your initscript but cutting down anything unnecessary.

Yeah I can try to play with removing some of the unnecessary services when 
preparing the rootfs
for Dom0 (see patch 4).

Kind regards,
Henry

> This will avoid the FVP test to become the bottlneck in the gitlab CI.
> 
> Chers,
> 
> -- 
> Julien Grall


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.