[PATCH RFC 00/11] makedumpfile: parallel processing
Chao Fan
cfan at redhat.com
Tue Dec 1 00:39:29 PST 2015
Hi Zhou Wenjian,
I did some tests according to your tables. I have a problem when I set
dump_level to 31. The machine has 1T memory, and when dump_level was set
to 31, the size of vmcore is 17G. The kernel is 3.10.0-327.el7.x86_64.
The kexec-tools is kexec-tools-2.0.7-38.el7.x86_64.
If I use
core_collector time makedumpfile -l --message-level 1 -d 31
in kdump based on makedumpfile 1.5.7, the time is
63 seconds(the average of many tests).
And then I use the kdump based on makedumpfile 1.5.9.
core_collector time makedumpfile -l --message-level 1 -d 31
the time is 58 seconds.
core_collector time makedumpfile --num-threads 1 -l --message-level 1 -d 31
the time is 240 seconds.
core_collector time makedumpfile --num-threads 2 -l --message-level 1 -d 31
the time is 189 seconds.
core_collector time makedumpfile --num-threads 4 -l --message-level 1 -d 31
the time is 220 seconds.
core_collector time makedumpfile --num-threads 8 -l --message-level 1 -d 31
the time is 417 seconds.
core_collector time makedumpfile --num-threads 12 -l --message-level 1 -d 31
the time is 579 seconds.
core_collector time makedumpfile --num-threads 16 -l --message-level 1 -d 31
the time is 756 seconds.
So I do not know why if I add "--num-threads", the makedumpfile will use more
time than without "--num-threads". Since your table also shows that
makedumpfile -d 31, the threads_num is 0, the makdumpfile is fatest.
If there are any problems in my tests, please tell me.
Thanks,
Chao Fan
----- Original Message -----
> From: "Wenjian Zhou/周文剑" <zhouwj-fnst at cn.fujitsu.com>
> To: kexec at lists.infradead.org
> Sent: Monday, June 8, 2015 11:55:41 AM
> Subject: Re: [PATCH RFC 00/11] makedumpfile: parallel processing
>
> hello all,
>
> I test this patch set in two machines and the following is the benchmark.
>
> These tables show the time that makedumpfile spends. And the unit is second.
>
> "core-data" in the table means the context in the vmcore.
> For example:
> core-data's value is 256. It means that in the vmcore, 256 * 8 bits of each
> page
> are set to 1.
>
> "-l" in the table means producing lzo format vmcore
>
> "-c" in the table means producing kdump-compressed format vmcore
>
> ###################################machine with 128G memory
>
> ************ makedumpfile -d 0 ******************
> core-data 256 1280
> threads_num
> -l
> 0 758 881
> 8 932 1014
> 16 973 1085
> -c
> 0 3994 4071
> 8 966 1007
> 16 1053 1192
>
> ************ makedumpfile -d 3 ******************
> core-data 256 1280
> threads_num
> -l
> 0 764 847
> 8 948 1058
> 16 943 1069
> -c
> 0 4021 4050
> 8 949 1029
> 16 1051 1190
>
> ************ makedumpfile -d 31 ******************
> core-data 256 1280
> threads_num
> -l
> 0 4 4
> 8 639 610
> 16 680 680
> -c
> 0 14 13
> 8 607 610
> 16 631 662
>
> ###################################machine with 24G memory
>
> ************ makedumpfile -d 0 ******************
> core-data 0 256 512 768 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328
> 3584 3840 4096
> threads_num
> -l
> 0 15 140 186 196 196 196 196 197 197 197 195 195 195 195 186 131 15
> 4 9 136 189 204 204 202 201 200 201 200 200 202 204 203 189 136 9
> 8 11 131 193 198 198 202 206 205 206 205 205 202 198 197 193 132 11
> 12 18 137 194 202 203 197 201 203 204 202 201 196 202 202 194 136 17
> -c
> 0 80 786 967 1031 874 849 700 608 652 603 764 768 873 1031 1016 776 80
> 4 82 262 315 321 296 256 255 220 218 221 241 268 303 320 319 259 84
> 8 58 148 174 189 179 189 196 198 199 198 196 190 178 174 170 145 57
> 12 56 112 131 157 170 189 200 204 204 203 199 191 170 157 132 111 59
>
> ************ makedumpfile -d 1 ******************
> core-data 0 256 512 768 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328
> 3584 3840 4096
> threads_num
> -l
> 0 16 134 194 204 204 205 205 206 205 207 204 203 204 204 193 134 15
> 4 9 132 193 197 196 198 199 200 200 200 199 197 196 197 192 132 9
> 8 12 135 189 202 204 200 197 196 197 195 196 199 203 202 189 136 12
> 12 16 130 190 200 200 205 202 201 200 201 202 205 199 200 189 131 17
> -c
> 0 77 775 1009 1032 872 853 699 606 643 602 758 765 870 1026 1014 774 78
> 4 80 262 316 322 332 257 247 217 223 218 288 256 322 322 315 258 81
> 8 56 146 173 176 170 184 198 205 207 203 198 185 169 180 169 149 56
> 12 56 110 133 152 175 185 194 202 202 202 193 184 176 152 135 114 56
>
> ************ makedumpfile -d 7 ******************
> core-data 0 256 512 768 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328
> 3584 3840 4096
> threads_num
> -l
> 0 16 138 188 197 197 197 197 197 197 198 196 197 197 197 189 137 16
> 4 10 131 187 202 205 203 202 202 203 203 201 203 204 201 187 131 8
> 8 11 135 191 199 197 201 203 205 206 204 203 200 197 199 192 134 11
> 12 18 134 195 201 203 197 199 202 202 201 199 196 203 201 197 134 19
> -c
> 0 77 770 1011 1032 871 841 698 621 645 601 763 765 870 1025 1014 773 78
> 4 81 263 311 320 319 255 240 216 242 214 240 257 300 319 314 255 80
> 8 57 157 176 172 174 191 196 199 199 199 195 191 173 171 167 146 57
> 12 55 111 136 156 170 188 203 204 204 203 201 186 168 156 136 112 56
>
> ************ makedumpfile -d 31 ******************
> core-data 0 256 512 768 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328
> 3584 3840 4096
> threads_num
> -l
> 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 4 7 8 8 8 8 8 8 8 8 8 8 8 8 8 7 8 8
> 8 11 11 11 10 11 11 11 11 11 11 10 11 11 11 11 11 11
> 12 14 13 14 13 13 15 15 13 15 13 14 14 13 15 15 15 16
> -c
> 0 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4
> 4 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
> 8 12 12 12 13 12 12 12 12 12 12 13 12 14 13 12 12 13
> 12 14 16 14 14 13 15 15 15 14 14 14 14 16 14 15 15 14
>
>
> On 06/05/2015 03:56 PM, Zhou Wenjian wrote:
> > This patch set implements parallel processing by means of multiple threads.
> > With this patch set, it is available to use multiple threads to read
> > and compress pages. This parallel process will save time.
> > This feature only supports creating dumpfile in kdump-compressed format
> > from
> > vmcore in kdump-compressed format or elf format. Currently, sadump and
> > xen kdump are not supported.
> >
> > Qiao Nuohan (11):
> > Add readpage_kdump_compressed_parallel
> > Add mappage_elf_parallel
> > Add readpage_elf_parallel
> > Add read_pfn_parallel
> > Add function to initial bitmap for parallel use
> > Add filter_data_buffer_parallel
> > Add write_kdump_pages_parallel to allow parallel process
> > Add write_kdump_pages_parallel_cyclic to allow parallel process in
> > cyclic_mode
> > Initial and free data used for parallel process
> > Make makedumpfile available to read and compress pages parallelly
> > Add usage and manual about multiple threads process
> >
> > Makefile | 2 +
> > erase_info.c | 29 +-
> > erase_info.h | 2 +
> > makedumpfile.8 | 24 +
> > makedumpfile.c | 1505
> > +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
> > makedumpfile.h | 79 +++
> > print_info.c | 16 +
> > 7 files changed, 1652 insertions(+), 5 deletions(-)
> >
> >
> > _______________________________________________
> > kexec mailing list
> > kexec at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/kexec
>
>
> --
> Thanks
> Zhou Wenjian
>
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
>
More information about the kexec
mailing list