ipynb: fix resetting frame statistics

Frame statistics shall be reset before collecting them for the current
workload. This was done in the wrong way before, because the reset
option needs a double dash in front to work properly.

Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
2 files changed
tree: 2b04ff22d0a5acf1e68383946d0b912d785980ca
  1. assets/
  2. ipynb/
  3. libs/
  4. results/
  5. src/
  6. tests/
  7. tools/
  8. .gitignore
  9. .gitmodules
  10. init_env
  11. LICENSE.txt
  12. LisaShell.txt
  13. README.md
  14. target.config
README.md

NOTE: This is still a work in progress project, suitable for: developers, contributors and testers.
None of the provided tests should be considered stable and/or suitable for the evaluation of a product.

Introduction

The LISA project provides a toolkit that supports regression testing and interactive analysis of workload 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, power management and thermal frameworks. However LISA is generic and can be used for other purposes too.

LISA provides an API for modeling use-cases of interest and developing regression tests for use-cases. A ready made set of test-cases to support regression testing of core kernel features is provided. In addition, LISA uses the excellent IPython notebook framework and a set of notebooks are provided for live experiments on a target platform.

Installation

This note assumes installation from scratch on a freshly installed Debian system.

Required dependencies

Install common build related tools
$ sudo apt-get install build-essential autoconf automake libtool pkg-config
Install additional tools required for some tests and functionalities
$ sudo apt-get install nmap trace-cmd sshpass kernelshark net-tools
Install required python packages
$ sudo apt-get install python-matplotlib python-numpy libfreetype6-dev libpng12-dev python-nose
Install the Python package manager
$ sudo apt-get install python-pip python-dev
Install (upgrade) required Python libraries
$ sudo pip install --upgrade trappy bart-py devlib

NOTE: TRAPpy and BART depend on ipython and ipython-notebook. Some IPython Notebooks examples are written in JSON nbformat version 4 which might not be supported by the IPython version installed by apt-get (current version is 1.2.1-2 which does not support such format). In this case, it is needed to remove IPython and install it using pip instead:

$ sudo apt-get remove ipython ipython-notebook
$ sudo pip install ipython ipython-notebook

Clone the repository

The code of the LISA toolkit with all the supported tests and Notebooks can be cloned from the official GitHub repository with this command:

    $ git clone https://github.com/ARM-software/lisa.git

Target platform requirements

The target platform to be used for experiments with LISA must satisfy the following requirements:

Linux Targets

  • allow ssh access, preferably as root, using either a password or an SSH key
  • support sudo, even if it's accessed as root user

Android Targets

  • allow adb access, eventually by specifying a DEVICE ID
  • the local shell should define the ANDROID_HOME environment variable pointing to an Android SDK installation

Kernel features

Most of the tests targets a kernel with support for some new frameworks which are currently in-development:

  • Energy-Aware Scheduler (EAS)
  • SchedFreq: the CPUFreq governor
  • SchedTune: the central, scheduler-driven, power-perfomance control

Tests targeting an evaluation of these frameworks requires also a set of tracepoint which are not available in mainline kernel. The series of patches required to add to a recent kernel the tracepoints required by some tests are available on this git repository:

git://www.linux-arm.org/linux-power.git lisa/debug

The patches required are: lisa/debug_base..lisa/debug

Quickstart tutorial

Once cloned, source init_env to initialized the LISA Shell, which provides a convenient set of shell commands for easy access to many LISA related functions.

$ source init_env

To start the IPython Notebook Server required to use this Notebook, on a LISAShell run:

[LISAShell lisa] \> lisa-ipython start

Starting IPython Notebooks...
Starting IPython Notebook server...
  IP Address :  http://127.0.0.1:8888/
  Folder     :  /home/derkling/Code/lisa/ipynb
  Logfile    :  /home/derkling/Code/lisa/ipynb/server.log
  PYTHONPATH : 
    /home/derkling/Code/lisa/libs/bart
    /home/derkling/Code/lisa/libs/trappy
    /home/derkling/Code/lisa/libs/devlib
    /home/derkling/Code/lisa/libs/wlgen
    /home/derkling/Code/lisa/libs/utils


Notebook server task: [1] 24745

The main folder served by the server is: http://127.0.0.1:8888/

Once the server is started you can have a look at the provide tutorial notebooks are accessible starting from this link: http://127.0.0.1:8888/notebooks/tutorial/00_LisaInANutshell.ipynb

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/tools/LICENSE.*

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.