[PATCH v2 0/5] makedumpfile: --split: assign fair I/O workloads in appropriate time

Atsushi Kumagai kumagai-atsushi at mxc.nes.nec.co.jp
Thu Oct 16 20:50:35 PDT 2014


Hello,

The code looks good to me, thanks Zhou.
Now, I have a question on performance.

>The issue is discussed at http://lists.infradead.org/pipermail/kexec/2014-March/011289.html
>
>This patch implements the idea of 2-pass algorhythm with smaller memory to manage splitblock table.
>Exactly the algorhythm is still 3-pass,but the time of second pass is much shorter.
>The tables below show the performence with different size of cyclic-buffer and splitblock.
>The test is executed on the machine having 128G memory.
>
>the value is total time (including first pass and second pass).
>the value in brackets is the time of second pass.

Do you have any idea why the time of second pass is much larger when
the splitblock-size is 2G ? I worry about the scalability.


Thanks
Atsushi Kumagai

>	      sec
>	cyclic-buffer	1		2		4		8		16		32
>	64
>splitblock-size
>1M			4.74(0.00)	4.22(0.01)	3.94(0.01)	3.78(0.02)	3.71(0.03)	3.73(0.07)
>	3.74(0.10)
>2M			4.74(0.00)	4.19(0.00)	3.94(0.01)	3.80(0.03)	3.71(0.03)	3.72(0.07)
>	3.72(0.09)
>4M			4.73(0.00)	4.21(0.01)	3.95(0.01)	3.78(0.02)	3.70(0.02)	3.73(0.08)
>	3.73(0.10)
>8M			4.73(0.00)	4.19(0.00)	3.94(0.01)	3.83(0.02)	3.73(0.03)	3.72(0.07)
>	3.74(0.10)
>16M			4.74(0.01)	4.21(0.00)	3.94(0.01)	3.76(0.01)	3.73(0.03)	3.73(0.08)
>	3.74(0.10)
>32M			4.72(0.00)	4.20(0.02)	3.92(0.01)	3.77(0.02)	3.71(0.02)	3.70(0.06)
>	3.74(0.10)
>64M			4.74(0.01)	4.20(0.00)	3.95(0.01)	3.78(0.02)	3.70(0.02)	3.71(0.07)
>	3.72(0.09)
>128M			4.73(0.01)	4.20(0.00)	3.94(0.01)	3.78(0.02)	3.76(0.03)	3.72(0.08)
>	3.74(0.09)
>256M			4.75(0.02)	4.22(0.02)	3.96(0.03)	3.78(0.02)	3.70(0.03)	3.70(0.07)
>	3.74(0.11)
>512M			4.77(0.04)	4.21(0.03)	3.97(0.04)	3.79(0.03)	3.73(0.04)	3.75(0.09)
>	3.82(0.13)
>1G			4.82(0.09)	4.26(0.07)	4.00(0.08)	3.83(0.07)	3.76(0.08)	3.73(0.08)
>	3.76(0.12)
>2G			8.26(3.54)	7.34(3.14)	6.86(2.93)	6.56(2.80)	6.44(2.76)	6.45(2.79)
>	6.42(2.80)
>
>the performence of 3-pass algorhythm
>origin			8.25(3.54)	7.26(3.11)	6.80(2.91)	6.52(2.80)	6.39(2.76)	6.40(2.78)
>	6.45(2.85)
>
>
>	       sec
>	cyclic-buffer	128		256		512		1024		2048		4096
>	8192
>splitblock-size
>1M			3.83(0.21)	3.94(0.33)	4.16(0.54)	4.61(0.99)	7.03(3.41)	8.73(5.11)
>	8.69(5.08)
>2M			3.86(0.21)	3.92(0.32)	4.16(0.54)	4.64(0.98)	7.02(3.41)	8.71(5.09)
>	8.72(5.09)
>4M			3.82(0.21)	3.95(0.32)	4.18(0.55)	4.62(0.99)	7.05(3.44)	8.70(5.09)
>	8.68(5.07)
>8M			3.82(0.21)	3.95(0.33)	4.17(0.54)	4.58(0.97)	7.03(3.41)	8.79(5.16)
>	8.71(5.09)
>16M			3.83(0.21)	3.93(0.31)	4.15(0.54)	4.60(0.98)	7.06(3.43)	8.76(5.13)
>	8.73(5.10)
>32M			3.84(0.22)	3.93(0.32)	4.15(0.54)	4.61(0.98)	7.00(3.40)	8.69(5.08)
>	8.75(5.13)
>64M			3.84(0.21)	3.94(0.33)	4.15(0.54)	4.60(0.98)	7.04(3.42)	8.74(5.10)
>	8.80(5.16)
>128M			3.85(0.22)	3.97(0.33)	4.16(0.54)	4.60(0.98)	7.07(3.44)	8.68(5.07)
>	8.69(5.07)
>256M			3.84(0.21)	3.94(0.33)	4.16(0.55)	4.64(1.00)	7.02(3.41)	8.74(5.11)
>	8.73(5.11)
>512M			3.85(0.24)	3.97(0.34)	4.17(0.56)	4.61(0.99)	7.05(3.44)	8.73(5.11)
>	8.75(5.13)
>1G			3.85(0.22)	3.96(0.35)	4.18(0.56)	4.65(1.00)	7.06(3.44)	8.76(5.12)
>	8.72(5.11)
>2G			6.53(2.91)	6.86(3.25)	7.54(3.92)	8.95(5.31)	10.60(6.97)	14.08(10.47)
>	14.32(10.60)
>
>the performence of 3-pass algorhythm
>origin			6.64(3.05)	6.81(3.24)	7.51(3.93)	8.86(5.30)	10.51(6.94)	13.92(10.36)
>	14.11(10.55)
>
>
>v1->v2:
>	use splitblock instead of block
>	add restriction (align to the page size) to splitblock size
>	adjust the position of prepare_splitblock_table and check the return code
>	use --splitblock-size to specify splitblock size and modify the print_info.c
>
>
>Zhou Wenjian (5):
>  Add support for splitblock
>  Add tools for reading and writing from splitblock table
>  Add module of generating table
>  Add module of calculating start_pfn and end_pfn in each dumpfile
>  Add support for --splitblock-size
>
> makedumpfile.8 |   16 ++++
> makedumpfile.c |  254 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
> makedumpfile.h |   17 ++++
> print_info.c   |   16 ++++-
> 4 files changed, 296 insertions(+), 7 deletions(-)
>
>_______________________________________________
>kexec mailing list
>kexec at lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/kexec



More information about the kexec mailing list