Re: slab-nomerge (was Re: [git pull] device mapper changes for 4.3)

Sergey Senozhatsky
2015-09-08T00:21:37Z

On (09/07/15 17:44), Sergey Senozhatsky wrote:
[...]
> Oh, that's a good idea. I didn't use tools/testing/ktest/, it's a bit too
> massive for my toy script. I have some modifications to slabinfo and a rather
> ugly script to parse files and feed them to gnuplot (and yes, I use gnuplot
> for plotting). slabinfo patches are not entirely dumb and close to being ready
> (well.. except that I need to clean up all those %6s sprintfs that worked fine
> for dynamically scalled sizes and do not work so nicely for sizes in bytes). I
> can send them out later. Less sure about the script (bash) tho. In a nutshell
> it's just a number of
> grep | awk > FOO; gnuplot ... FOO
>
> So I'll finish some plotting improvements first (not ready yet) and then
> I'll take a look how quickly I can land it (rewrite in perl) in
> tools/testing/ktest/.

Hi,

uploaded my scripts to
https://github.com/sergey-senozhatsky/slabinfo

A set of very simple bash scripts. The README file contains
some sort of documentation and a 'tutorial'.

==================================================================
To start collecting samples, record file name is NOMERGE, note sudo

sudo ./slabinfo-plotter.sh -r NOMERGE

#^C or reboot

pre-process records file for gnuplot

./slabinfo-plotter.sh -p NOMERGE -b gnuplot
File gnuplot_slabs-by-loss-NOMERGE
File gnuplot_slabs-by-size-NOMERGE
File gnuplot_totals-NOMERGE

generate grphs from 'slabinfo totals'

./gnuplot-totals.sh -f gnuplot_totals-NOMERGE

Graph file name -- gnuplot_totals-NOMERGE.png
...

==================================================================

Two things:
-- it wants a patched version of slabinfo (some sort of patches are in
kernel_patches/ dir)
-- it wants slabinfo to be in PATH

For now on it does what it does -- captures numbers and picks only ones
that are interesting to me and generates plots.

I'm doing this in my spare time, but I'm surely accepting improvement
requests/ideas, pull requests, and everything that follows.

Will play around with the scripts for some time to make sure they
are usable and then we can decide if there is a place for something
like this in the kernel or it's better be done somehow differently.

-ss