Skip to content

xzpeter/oslat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oslat - OS Latency Detector

IMPORTANT NOTICE: This repository is obsolete now since oslat is merged into rt-tests. For the latest version of oslat, please go to:

https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git

Introduction

This is a test program for detecting OS level thread latency caused by unexpected system scheduling or interruptions (e.g., system ticks).

Please run this program using root, or make sure you have the required privileges for e.g. setting schedule priorities or doing memory locks.

Major features:

  • Poll-based busy loop, doing RDTSC on specified cores. By default, it'll launch one test thread on each of the core.
  • Collect interruptions of rdtsc sequence (in microseconds) and put into per-us baskets (1us, 2us, 3us, ..., Nus, N configurable).
  • Supports CPU-list (libnuma), FIFO priority, and multi-threading
  • Little memory footprint
  • Supports ftrace

Sample output

This is a sample output of running oslat on a real-time virtual machine (core 2-9 isolated) for 1 hour:

[root@localhost ~]# ./oslat --cpu-list 2-9 --rtprio 1 --runtime 3600

    Version: v0.1.0

    core_i:    2 3 4 5 6 7 8 9
    cpu_mhz:    2197 2197 2197 2197 2197 2197 2197 2197
    001 (us):    93068541026 93068541249 93068541429 93068541411 93068541565 93068541296 93068541320 93068541409
    002 (us):    51 51 51 51 51 51 51 51
    003 (us):    2 2 2 2 2 2 2 2
    004 (us):    4 4 8 3 26 3 4 2
    005 (us):    40 39 35 41 18 42 40 41
    006 (us):    1 1 1 0 0 0 1 1
    007 (us):    0 0 0 0 0 0 0 0
    008 (us):    0 0 0 0 0 0 0 0
    009 (us):    0 0 0 0 0 0 0 0
    010 (us):    0 0 0 0 0 0 0 0
    011 (us):    0 0 0 0 0 0 0 0
    012 (us):    0 0 0 0 0 0 0 0
    013 (us):    0 0 0 0 0 0 0 0
    014 (us):    0 0 0 0 0 0 0 0
    015 (us):    0 0 0 0 0 0 0 0
    016 (us):    0 0 0 0 0 0 0 0
    017 (us):    0 0 0 0 0 0 0 0
    018 (us):    0 0 0 0 0 0 0 0
    019 (us):    0 0 0 0 0 0 0 0
    020 (us):    0 0 0 0 0 0 0 0
    021 (us):    0 0 0 0 0 0 0 0
    022 (us):    0 0 0 0 0 0 0 0
    023 (us):    0 0 0 0 0 0 0 0
    024 (us):    0 0 0 0 0 0 0 0
    025 (us):    0 0 0 0 0 0 0 0
    026 (us):    0 0 0 0 0 0 0 0
    027 (us):    0 0 0 0 0 0 0 0
    028 (us):    0 0 0 0 0 0 0 0
    029 (us):    0 0 0 0 0 0 0 0
    030 (us):    0 0 0 0 0 0 0 0
    031 (us):    0 0 0 0 0 0 0 0
    032 (us):    0 0 0 0 0 0 0 0
    maxlat:    6 6 6 5 5 5 6 6 (us)
    runtime:    3600.740 3600.740 3600.740 3600.740 3600.740 3600.740 3600.740 3600.740 (sec)

About

Measure OS level latency/jitter of threads

Resources

Stars

Watchers

Forks

Packages

No packages published