Skip to main content

Introduction CI status Documentation Status

The LISA project provides a toolkit that supports regression testing and interactive analysis of Linux kernel behavior. LISA stands for Linux Integrated/Interactive System Analysis. LISA’s goal is to help Linux kernel developers to measure the impact of modifications in core parts of the kernel. The focus is on the scheduler (e.g. EAS), power management and thermal frameworks. However LISA is generic and can be used for other purposes too.

LISA has a host/target model. LISA itself runs on a host machine, and uses the devlib toolkit to interact with the target via SSH, ADB or telnet. LISA is flexible with regard to the target OS; its only expectation is a Linux kernel-based system. Android, GNU/Linux and busybox style systems have all been used.

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). These traces can then be parsed and analysed in order to examine detailed target behaviour during the workload’s execution.

Some LISA features may require modifying the target OS. For example, in order to collect ftrace files the target kernel must have CONFIG_DYNAMIC_FTRACE enabled.

There are two “entry points” for running LISA:

  • Via the Jupyter/IPython notebook framework. This allows LISA to be used interactively and supports visualisation of trace data. Some notebooks are provided with example and ready-made LISA use-cases.

  • Via the automated test framework. This framework allows the development of automated pass/fail regression tests for kernel behaviour. LISA provides some ready-made automated tests under the lisa/tests/ directory.

Motivations

The main goals of LISA are:

  • Support study of existing behaviours (i.e. “how does PELT work?”)

  • Support analysis of new code being developed (i.e. “what is the impact on existing code?”)

  • Get insights on what’s not working and possibly chase down why

  • Share reproducible experiments by means of a common language that:

    • is flexible enough to reproduce the same experiment on different targets

    • simplifies generation and execution of well defined workloads

    • defines a set of metrics to evaluate kernel behaviours

    • enables kernel developers to easily post process data to produce statistics and plots

Documentation

You should find everything on ReadTheDocs. Here are some noteworthy sections:

How to reach us

Bug reports should be raised against the GitHub issue tracker.

License

This project is licensed under Apache-2.0.

This project includes some third-party code under other open source licenses. For more information, see lisa/_assets/binaries/*/README.*.

Contributions / Pull Requests

Contributions are accepted under Apache-2.0. Only submit contributions where you have authored all of the code. If you do this on work time make sure your employer is cool with this. We also have a Contributor Guide

Metadata

Release files for lisa-linux 3.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lisa-linux 3.1.0
File Size Uploaded
lisa-linux-3.1.0.tar.gz 9.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for lisa-linux 3.1.0
File Interpreter ABI Platform
lisa_linux-3.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.7 MB

Release files / lisa-linux-3.1.0.tar.gz

Download URL lisa-linux-3.1.0.tar.gz
Size 9.8 MB
Tags Source
SHA-256 checksum
How to use checksums
5ae4f05571aa695452af279601b6dc6ebb58b116dce944bd7ec8e693d2eebf48
BLAKE2b-256 checksum
How to use checksums
83ce116cd8e779b2a57eaf8b71e3c90133c276f9f4c39c9408761a8f3f4c919f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / lisa_linux-3.1.0-py3-none-any.whl

Download URL lisa_linux-3.1.0-py3-none-any.whl
Size 9.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1a2daedb4188eba003f6ea2514aec1a2c8e310d656f48ba1cee0da2925f81a79
BLAKE2b-256 checksum
How to use checksums
49bbe8fe80ae94d477974b399097c517c6d6a76e4f5dc2a1d834d79342cdbfd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

3.1.0 This release

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page