Git Product home page Git Product logo

rt-app's Introduction

README for rt-app @VERSION@

==============
 INTRODUCTION
==============

rt-app is a test application that starts multiple periodic threads in order to
simulate a real-time periodic load.

Code is currently maintained on GitHub:

	http://github.com/scheduler-tools/rt-app


==============
 REQUIREMENTS
==============

rt-app runs on GNU/Linux. It needs bash, autoconf, automake, libtool,
libjson-c, GNU make and a recent compiler (tested on: gcc) for basic features.
If your system has numactl (libnuma-dev) installed, numa features will be supported.  


=================
 BUILDING json-c
=================

If you are not happy using the version installed by your packaging system,
if it does not provide static libraries and you need them, need to
cross-compile, build it from source like this:

retrieve source code available here:

    https://github.com/json-c/json-c

cross-compile json-c and build both static and shared libraries for aarch64:

    export ac_cv_func_malloc_0_nonnull=yes
    export ac_cv_func_realloc_0_nonnull=yes
    ./autogen.sh
    ./configure --host=aarch64-linux-gnu --enable-shared --enable-static
    make


=================
 BUILDING numactl
=================

If you are not happy using the version installed by your packaging system,
if it does not provide static libraries and you need them, need to
cross-compile, build it from source like this:

retrieve source code available here:

    git clone https://github.com/numactl/numactl.git

cross-compile numactl and build static libraries for aarch64:

    ./autogen.sh
    ./configure --host=aarch64-linux-gnu --disable-shared --enable-static
    make


================================
 BUILDING AND INSTALLING rt-app
================================

VARIANT A)
cross-compile a static rt-app for aarch64, using your own json-c and/or numactl build
----------------------------------------------------------------------
(...that wasn't installed (or not into the standard locations))

    export ac_cv_lib_json_c_json_object_from_file=yes
    export ac_cv_lib_numa_numa_available=yes
    
    ./autogen.sh
    ./configure --host=aarch64-linux-gnu LDFLAGS="-L<absolute path to json repo> -L<absolute path to numactl repo>" CFLAGS="-I<path to parent of json-c repo> -I<path to parent of numactl repo>" --with-deadline
    AM_LDFLAGS="-all-static" make

configure supports the usual flags, like `--help` and `--prefix`, there is an
install target in the Makefile as well. `--with-deadline` enables support for
SCHED_DEADLINE.


EXAMPLE: with a directory structure like the following:

    $ tree -d -L 2
    .
    ├── json-c
    │   ├── autoconf-archive
    │   ├── cmake
    │   ├── fuzz
    │       └── tests
    ├── numactl
    │   ├── m4
    │   └── test
    └── rt-app
        ├── doc
        ├── libdl
        └── src


you would run:

    cd rt-app
    export ac_cv_lib_json_c_json_object_from_file=yes
    export ac_cv_lib_numa_numa_available=yes
    ./autogen.sh
    ./configure --host=aarch64-linux-gnu LDFLAGS="-L$PWD/../json-c -L$PWD/../numactl" CFLAGS="-I$PWD/../" --with-deadline
    AM_LDFLAGS="-all-static" make

and you should get a static rt-app executable in the src directory.


VARIANT B)
regular build of rt-app for your host against json-c in canonical locations
---------------------------------------------------------------------------
(and installation with PREFIX=/usr/local)

    ./autogen.sh
    ./configure
    make
    make install


=======
 USAGE
=======

    $ rt-app [-l <log level>] <config_file>

where config file is a full/relative path to a json file (look under
doc/examples for examples) or "-" (without quotes) to read JSON data from
stdin.

Refer to file doc/tutorial.txt for information about how to write the json
file.

rt-app's People

Contributors

vingu-linaro avatar gbagnoli avatar jlelli avatar derkling avatar deggeman avatar jedichen121 avatar balsini avatar credp avatar peterpuhov-linaro avatar dfaggioli avatar gilsken avatar vireshk avatar pino-kim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.