lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20151023042017.GC1823@swordfish>
Date:	Fri, 23 Oct 2015 13:20:17 +0900
From:	Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To:	akpm@...ux-foundation.org
Cc:	sergey.senozhatsky@...il.com, mm-commits@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: + doc-slub-document-slabinfo-gnuplotsh-script.patch added to -mm
 tree

On (10/22/15 13:21), akpm@...ux-foundation.org wrote:
[..]
> ------------------------------------------------------
> From: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
> Subject: Doc/slub: document slabinfo-gnuplot.sh script
> 
> Add documentation on how to use slabinfo-gnuplot.sh script.
> 
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

Oh, sent "Documentation/vm/slub.txt: document slabinfo-gnuplot.sh" patch
(addressed Christoph's comments) before I saw this message.
V2 message-id: 1445557905-9565-1-git-send-email-sergey.senozhatsky@...il.com

Andrew, should I send an incremental update to this patch instead or you
will 'replace' it with the v2?

	-ss

> ---
> 
>  Documentation/vm/slub.txt |   58 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff -puN Documentation/vm/slub.txt~doc-slub-document-slabinfo-gnuplotsh-script Documentation/vm/slub.txt
> --- a/Documentation/vm/slub.txt~doc-slub-document-slabinfo-gnuplotsh-script
> +++ a/Documentation/vm/slub.txt
> @@ -280,4 +280,62 @@ of other objects.
>  
>  	slub_debug=FZ,dentry
>  
> +Extended slabinfo mode and plotting
> +-----------------------------------
> +
> +slabinfo tool has a special 'extended' ('-X') mode that includes:
> + - Slabcache Totals
> + - Slabs sorted by size (up to -N <num> slabs, default 1)
> + - Slabs sorted by loss (up to -N <num> slabs, default 1)
> +
> +Additionally, in this mode slabinfo does not dynamically scale sizes (G/M/K)
> +and reports everything in bytes (this functionality is also available to
> +other slabinfo modes via '-B' option) which makes reporting more precise and
> +accurate. Moreover, in some sense the `-X' mode also simplifies the analysis
> +of slabs' behaviour, because its output can be plotted using the
> +slabinfo-gnuplot.sh script. So it pushes the analysis from looking through
> +the numbers (tons of numbers) to something easier -- visual analysis.
> +
> +To generate plots:
> +a) collect slabinfo extended records, for example:
> +
> +  while [ 1 ]; do slabinfo -X >> FOO_STATS; sleep 1; done
> +
> +b) pass stats file(-s) to slabinfo-gnuplot.sh script:
> +  slabinfo-gnuplot.sh FOO_STATS [FOO_STATS2 .. FOO_STATSN]
> +
> +The slabinfo-gnuplot.sh script will pre-processes the collected records
> +and generates 3 png files (and 3 pre-processing cache files) per STATS
> +file:
> + - Slabcache Totals: FOO_STATS-totals.png
> + - Slabs sorted by size: FOO_STATS-slabs-by-size.png
> + - Slabs sorted by loss: FOO_STATS-slabs-by-loss.png
> +
> +Another use case, when slabinfo-gnuplot can be useful, is when you need
> +to compare slabs' behaviour "prior to" and "after" some code modification.
> +To help you out there, slabinfo-gnuplot.sh script can 'merge' the
> +`Slabcache Totals` sections from different measurements. To visually
> +compare N plots:
> +
> +a) Collect as many STATS1, STATS2, .. STATSN files as you need
> +  while [ 1 ]; do slabinfo -X >> STATS<X>; sleep 1; done
> +
> +b) Pre-process those STATS files
> +  slabinfo-gnuplot.sh STATS1 STATS2 .. STATSN
> +
> +c) Execute slabinfo-gnuplot.sh in '-t' mode, passing all of the
> +generated pre-processed *-totals
> +  slabinfo-gnuplot.sh -t STATS1-totals STATS2-totals .. STATSN-totals
> +
> +This will produce a single plot (png file).
> +
> +Plots, expectedly, can be large so some fluctuations or small spikes
> +can go unnoticed. To deal with that, `slabinfo-gnuplot.sh' has two
> +options to 'zoom-in'/'zoom-out':
> + a) -s %d,%d  overwrites the default image width and heigh
> + b) -r %d,%d  specifies a range of samples to use (for example,
> +              in `slabinfo -X >> FOO_STATS; sleep 1;' case, using
> +              a "-r 40,60" range will plot only samples collected
> +              between 40th and 60th seconds).
> +
>  Christoph Lameter, May 30, 2007
> _
> 
> Patches currently in -mm which might be from sergey.senozhatsky@...il.com are
> 
> maintainers-add-myself-as-zsmalloc-reviewer.patch
> tools-vm-slabinfo-use-getopt-no_argument-optional_argument.patch
> tools-vm-slabinfo-limit-the-number-of-reported-slabs.patch
> tools-vm-slabinfo-sort-slabs-by-loss.patch
> tools-vm-slabinfo-fix-alternate-opts-names.patch
> tools-vm-slabinfo-introduce-extended-totals-mode.patch
> tools-vm-slabinfo-output-sizes-in-bytes.patch
> tools-vm-slabinfo-cosmetic-globals-cleanup.patch
> tools-vm-slabinfo-gnuplot-slabifo-extended-stat.patch
> doc-slub-document-slabinfo-gnuplotsh-script.patch
> zram-keep-the-exact-overcommited-value-in-mem_used_max.patch
> mm-zsmalloc-constify-struct-zs_pool-name.patch
> zsmalloc-use-preempth-for-in_interrupt.patch
> 
> --
> To unsubscribe from this list: send the line "unsubscribe mm-commits" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ