Title: Performance Measurement of Linux2'6 kernel
1Performance Measurement of Linux-2.6 kernel
- Awanish Kumar Trivedi
- Wipro Technologies
- Biswa Ranjan Nayak
- Wipro Technologies
2Performance Measurement of Linux-2.6 kernel
- Agenda
- Interrupt latency
- Context Switch Latency
- Verifying the Linux-2.6 O(1) scheduler.
- QA
3Agenda
- Performance Measurement metrics
- Open Source Benchmarks
- Typical case study
4Performance Metrics
- Interrupt Latency
- What it means?
- Classical Approach.
- Realfeel code.
- Context Switch Overhead
- What it Means?
- How do you measure?
- Linux 2.6 O(1) Scheduler.
5Interrupt Latency
- Measurement of time from the instant an interrupt
is generated till it gets serviced. - Classical Approach- using Parallel Port
- Realfeel Working
- Expected Results
6Classical Approach
- The interrupt is generated by some external
source. - The interrupt handler is called.
- The interrupt generation can be emulated.
- The time difference can be calculated.
- Using a parallel port. Sorting the write and
interrupt lines.
7Realfeel Code
- RTC driver is set to generate a periodic
interrupt with a particular frequency. - The read call is used so that the application
blocks till the interrupt is received and time
taken. - The difference of time is calculated every time
from the current reading to the previous reading. - Ideal case for interrupt generation is well known
in advance which is subtracted from the latest
result. - The difference is used to plot the graph.
8Expected result of Realfeel Data
- The interrupt latency should be ideally constant.
- The plotted graph should lie almost on the
x-axis. - The graph should not show any jitters.
9Test Target Details
10Graph plotted for Realfeel
The comparative graph for 2.6.10 vanilla and
wrlinux kernel for realfeel.
11Comparison for realfeel
The combined graph for 2.6.10 vanilla and wrlinux
kernel for realfeel.
12Context Switch Overhead
- Time spent in storing and restoring of process
states for multitasking. - Lmbench open source Benchmark
- Code by Richard Gooch
13Linux-2.6 O(1) scheduler
- What is Big O notation ?
- What does O(1) stands for ?
- How to verify that ?
- Plot
14O(1) scheduler
- O(1) is the Big Oh Notation used to describe
the worst case analysis for linux-2.6 scheduler. - The O(1) implies that the performance for the
scheduling will not degrade as the number of
process is increased. - The process context switch overhead and load on
the target was calculated at regular intervals. - Slowly the load on the target was increased.
- The data were used to plot the graph.
15Expected Result
- Since the scheduler efficiency will not degrade
then the context switch overhead should ideally
be constant. - The expected graph should ideally be a vertical
line starting with an offset value on X axis
showing the context switch overhead. - The resultant graph does show that there are
jitters at specified location.
16Graph plots for context switch overhead
The comparative graph for 2.6.10 vanilla and
wrlinux kernel for scheduler latency.
17Plot showing comparison between vanilla and the
wrlinux
The combined graph for 2.6.10 vanilla and wrlinux
kernel for scheduler latency.
18Bibliography
- http//www.atnf.csiro.au/people/rgooch/benchmarks/
linux-scheduler.html - http//brain.mcmaster.ca/hahn/realfeel.c
- http//jaist.dl.sourceforge.net/sourceforge/lmbenc
h/lmbench-3.0-a4.tgz
19Questions
20Thank You!