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

Re: [PATCH v2 1/2] automation: arm64: Create test jobs for testing static heap on qemu



On Thu, 16 Mar 2023, jiamei.xie wrote:
> From: Jiamei Xie <jiamei.xie@xxxxxxx>
> 
> Create 2 new test jobs, called qemu-smoke-dom0less-arm64-gcc-staticheap
> and qemu-smoke-dom0less-arm64-gcc-debug-staticheap.
> 
> Add property "xen,static-heap" under /chosen node to enable static-heap.
> If the domU can start successfully with static-heap enabled, then this
> test pass.
> 
> ImageBuillder sets the kernel and ramdisk range based on the file size.
> It will use the memory range between 0x45600000 to 0x47AED1E8. It uses
> MEMORY_START and MEMORY_END from the cfg file as a range in which it can
> instruct u-boot where to place the images.
> 
> Change MEMORY_END to 0x50000000 for all test cases.
> 
> Signed-off-by: Jiamei Xie <jiamei.xie@xxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> ---
> Changes from v1:
>  - Change MEMORY_END to 0x50000000 for all test cases.
>  - Update commit message.
> ---
>  automation/gitlab-ci/test.yaml                | 16 ++++++++++++++
>  .../scripts/qemu-smoke-dom0less-arm64.sh      | 21 ++++++++++++++++++-
>  2 files changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 2e1a6886df..37465305ff 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -158,6 +158,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-staticmem
>  
> +qemu-smoke-dom0less-arm64-gcc-staticheap:
> + extends: .qemu-arm64
> + script:
> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | 
> tee ${LOGFILE}
> + needs:
> +   - *arm64-test-needs
> +   - alpine-3.12-gcc-arm64
> +
> +qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
> + extends: .qemu-arm64
> + script:
> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | 
> tee ${LOGFILE}
> + needs:
> +   - *arm64-test-needs
> +   - alpine-3.12-gcc-debug-arm64
> +
>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh 
> b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index 182a4b6c18..2d69d976ea 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -27,6 +27,11 @@ fi
>  "
>  fi
>  
> +if [[ "${test_variant}" == "static-heap" ]]; then
> +    passed="${test_variant} test passed"
> +    domU_check="echo \"${passed}\""
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>      passed="${test_variant} test passed"
> @@ -107,7 +112,7 @@ cd ..
>  
>  # ImageBuilder
>  echo 'MEMORY_START="0x40000000"
> -MEMORY_END="0xC0000000"
> +MEMORY_END="0x50000000"
>  
>  DEVICE_TREE="virt-gicv2.dtb"
>  XEN="xen"
> @@ -128,6 +133,20 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> 
> binaries/config
>  fi
>  
> +if [[ "${test_variant}" == "static-heap" ]]; then
> +    # ImageBuilder uses the config file to create the uboot script. 
> Devicetree
> +    # will be set via the generated uboot script.
> +    # The valid memory range is 0x40000000 to 0x80000000 as defined before.
> +    # ImageBuillder sets the kernel and ramdisk range based on the file size.
> +    # It will use the memory range between 0x45600000 to 0x47AED1E8, and
> +    # MEMORY_END has been set to 0x50000000 above, so set memory range 
> between
> +    # 0x50000000 and 0x80000000 as static heap.
> +    echo  '
> +XEN_STATIC_HEAP="0x50000000 0x30000000"
> +# The size of static heap should be greater than the guest memory
> +DOMU_MEM[0]="128"' >> binaries/config
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      echo '
>  CPUPOOL[0]="cpu@1 null"
> -- 
> 2.25.1
> 



 


Rackspace

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