Skip to content
Robert Foley edited this page Jan 10, 2020 · 1 revision

We are currently working on integration between LISA tool and QEMU. Our goal is to allow developers to test the impact of modifications on aarch64 architectures with complex NUMA topologies. Currently we are focusing on testing kernel CFS scheduler task placement decision mechanism interaction with NUMA_BALANCING

In order to simplify (speed up) development process we created scripts and configuration files which allow developers to quickly create QEMU VM's with configurable number of cores and NUMA nodes. We also created script to install custom build kernel on these VM's. Once VM is configured with desired topology and kernel version developers can run interactive and/or automated LISA tests.

Please note, that you do not need physical aarch64 hardware.
Reasonably powerful Intel machine is enough. (We using PowerEdge-R720)
We are using QEMU as emulator (TCG).
Support for KVM is on our TODO list.

Our approach is to contribute improvements in QEMU and LISA back to the mainstream. In our repository we will keep scripts and configurations belonging to the integration between LISA and QEMU.

We would like to ask your opinion about this project.
Do you think it may be useful ?
Are there other functionality you may be interested in ?
Feel free to contact us:
[email protected]

References:
Our project: https://github.com/rf972/lisa-qemu
QEMU: https://www.qemu.org/
LISA: https://github.com/ARM-software/lisa

LISA Overview:
The LISA project provides a toolkit that supports regression testing and interactive analysis of Linux kernel behavior. LISA’s goal is to help Linux kernel developers measure the impact of modifications in core parts of the kernel. LISA itself runs on a host machine, and uses the devlib toolkit to interact with the target via SSH, ADB or telnet. LISA provides features to describe workloads (notably using rt-app) and run them on targets. It can collect trace files from the target OS (e.g. systrace and ftrace traces), parse them via the TRAPpy framework. These traces can then be parsed and analysed in order to examine detailed target behaviour during the workload’s execution.

Clone this wiki locally