Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: qiaonuohan <qiaonuohan@cn.fujitsu.com>
To: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Cc: kexec@lists.infradead.org, zhouwj-fnst@cn.fujitsu.com,
	kumagai-atsushi@mxc.nes.nec.co.jp
Subject: Re: [PATCH v2 0/5] makedumpfile: --split: assign fair I/O workloads in appropriate time
Date: Tue, 28 Oct 2014 14:32:12 +0800	[thread overview]
Message-ID: <544F386C.4080001@cn.fujitsu.com> (raw)
In-Reply-To: <20141028.152459.485895318.d.hatayama@jp.fujitsu.com>

On 10/28/2014 02:24 PM, HATAYAMA Daisuke wrote:
> From: Atsushi Kumagai<kumagai-atsushi@mxc.nes.nec.co.jp>
> Subject: RE: [PATCH v2 0/5] makedumpfile: --split: assign fair I/O workloads in appropriate time
> Date: Mon, 27 Oct 2014 07:51:56 +0000
>
>> Hello Zhou,
>>
>>> On 10/17/2014 11:50 AM, Atsushi Kumagai wrote:
>>>> 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.
>>>>
>>> Hello,
>>>
>>> 	Since the previous machine can't be used for some reasons,I test several times using latest code
>>> in others, but that never happened. It seems that all things are right. Tests are executed in two machines(server,pc).
>>> Tests are based on:
>>
>> Well...OK, I'll take that as an issue specific to that machine
>> (or your mistakes as you said).
>> Now I have another question.
>>
>> calculate_end_pfn_by_splitblock():
>> 	...
>>          /* deal with incomplete splitblock */
>>          if (pfn_needed_by_per_dumpfile<  0) {
>>                  --*current_splitblock;
>>                  splitblock_inner -= splitblock->entry_size;
>>                  end_pfn = CURRENT_SPLITBLOCK_PFN_NUM;
>>                  *current_splitblock_pfns = (-1) * pfn_needed_by_per_dumpfile;
>>                  pfn_needed_by_per_dumpfile += read_value_from_splitblock_table(splitblock_inner);
>>                  end_pfn = calculate_end_pfn_in_cycle(CURRENT_SPLITBLOCK_PFN_NUM,
>>                                                       CURRENT_SPLITBLOCK_PFN_NUM + splitblock->page_per_splitblock,
>>                                                       end_pfn,pfn_needed_by_per_dumpfile);
>>          }
>>
>> This block causes the re-scanning for the cycle corresponding to the
>> current_splitblock, so the larger cyc-buf, the longer the time takes.
>> If cyc-buf is 4096 (this means the number of cycle is 1), the whole page
>> scanning will be done in the second pass. Actually, the performance when
>> cyc-buf=4096 was so bad.
>>
>> Is this process necessary ? I think splitting splitblocks is overkill
>> because I understood that splblk-size is the granularity of the
>> fairness I/O, tuning splblk-size is a trade off between fairness and
>> memory usage.
>> However, there is no advantage to reducing splblk-size in the current
>> implementation, it just consumes large amounts of memory.
>> If we remove the process, we can avoid the whole page scanning in
>> the second pass and reducing splblk-size will be meaningful as I
>> expected.
>>
>
> Yes, I don't think this rescan works with this splitblock method,
> too. The idea of this splitblock method is to reduce the number of
> filitering processing from 3-times to 2-times at the expence of at
> most splitblock-size difference of each dump file. Doing rescan here
> doesn't fit to the idea.

Hello,

The only things that bothers me is without getting the exact pfn, some
of the split files may be empty, with no page stored in it. If this is
not a issue, I think the re-scanning is useless.

>
> --
> Thanks.
> HATAYAMA, Daisuke
>
>
> _______________________________________________
> kexec mailing list
> kexec@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
> .
>


-- 
Regards
Qiao Nuohan

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  reply	other threads:[~2014-10-28  6:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-13  9:34 [PATCH v2 0/5] makedumpfile: --split: assign fair I/O workloads in appropriate time Zhou Wenjian
2014-10-13  9:34 ` [PATCH v2 1/5] Add support for splitblock Zhou Wenjian
2014-10-28  6:30   ` HATAYAMA Daisuke
2014-10-13  9:34 ` [PATCH v2 2/5] Add tools for reading and writing from splitblock table Zhou Wenjian
2014-10-28  6:42   ` HATAYAMA Daisuke
2014-10-13  9:34 ` [PATCH v2 3/5] Add module of generating table Zhou Wenjian
2014-10-28  7:01   ` HATAYAMA Daisuke
2014-10-13  9:34 ` [PATCH v2 4/5] Add module of calculating start_pfn and end_pfn in each dumpfile Zhou Wenjian
2014-10-28  7:43   ` HATAYAMA Daisuke
2014-10-13  9:34 ` [PATCH v2 5/5] Add support for --splitblock-size Zhou Wenjian
2014-10-28  7:15   ` HATAYAMA Daisuke
2014-10-28  7:28     ` Atsushi Kumagai
2014-10-17  3:50 ` [PATCH v2 0/5] makedumpfile: --split: assign fair I/O workloads in appropriate time Atsushi Kumagai
2014-10-22  1:52   ` "Zhou, Wenjian/周文剑"
2014-10-27  1:08     ` "Zhou, Wenjian/周文剑"
2014-10-27  7:51     ` Atsushi Kumagai
2014-10-28  6:24       ` HATAYAMA Daisuke
2014-10-28  6:32         ` qiaonuohan [this message]
2014-10-30  0:21           ` HATAYAMA Daisuke
2014-11-05  4:18             ` Atsushi Kumagai
2014-10-27  6:19   ` "Zhou, Wenjian/周文剑"

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=544F386C.4080001@cn.fujitsu.com \
    --to=qiaonuohan@cn.fujitsu.com \
    --cc=d.hatayama@jp.fujitsu.com \
    --cc=kexec@lists.infradead.org \
    --cc=kumagai-atsushi@mxc.nes.nec.co.jp \
    --cc=zhouwj-fnst@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox