Skip to main content

A stick to probe the kernel with

Project description

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.

We also have an #arm-lisa IRC channel on freenode.net that we monitor on a best effort basis.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lisa-linux-2.0.0.tar.gz (9.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lisa_linux-2.0.0-py3-none-any.whl (9.3 MB view details)

Uploaded Python 3

File details

Details for the file lisa-linux-2.0.0.tar.gz.

File metadata

  • Download URL: lisa-linux-2.0.0.tar.gz
  • Upload date:
  • Size: 9.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10

File hashes

Hashes for lisa-linux-2.0.0.tar.gz
Algorithm Hash digest
SHA256 0f10844bddb60b37c4c56f9b7f36bee5b63b6004d547821a52300a13abff3e76
MD5 9d9e15fcd94d2351aa854d6e408da03f
BLAKE2b-256 2b7e022d6040d1178b6e941dec1a71e78c88949803514f4579416e1d7a93523f

See more details on using hashes here.

File details

Details for the file lisa_linux-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: lisa_linux-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10

File hashes

Hashes for lisa_linux-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f82026dd98b22ecf6cee6059536582976ef747e2876a765547aaa2643e92fc67
MD5 3c056d7f3f8ef27dd98787297e6cc9af
BLAKE2b-256 42ac1d2518e2990c1b1fb194e4107d2aea329169c21d014ea94da8ab874a7f3e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page