Hello HATAYAMA-san,

On Mon, 03 Sep 2012 11:13:35 +0900 (JST)
HATAYAMA Daisuke <[email protected]> wrote:

> From: Atsushi Kumagai <[email protected]>
> Subject: [PATCH 03/16] [PATCH v3 3/12] Change the function related to 
> excluding unnecessary pages.
> Date: Thu, 30 Aug 2012 16:47:01 +0900
> 
> > From: Atsushi Kumagai <[email protected]>
> > Date: Thu, 23 Aug 2012 17:49:16 +0900
> > Subject: [PATCH 03/16] [PATCH v3 3/12] Change the function related to 
> > excluding unnecessary pages.
> <cut>
> > +int
> > +exclude_unnecessary_pages_cyclic(void)
> > +{
> > +   unsigned int mm;
> > +   struct mem_map_data *mmd;
> > +
> > +   /*
> > +    * Copy 1st-bitmap to 2nd-bitmap.
> > +    */
> > +   copy_bitmap_cyclic();
> > +
> > +   if (info->dump_level & DL_EXCLUDE_FREE)
> > +           if (!exclude_free_page())
> > +                   return FALSE;
> > +
> > +   /*
> > +    * Exclude cache pages, cache private pages, user data pages, and free 
> > pages.
> > +    */
> > +   if (info->dump_level & DL_EXCLUDE_CACHE ||
> > +       info->dump_level & DL_EXCLUDE_CACHE_PRI ||
> > +       info->dump_level & DL_EXCLUDE_USER_DATA) {
> > +           for (mm = 0; mm < info->num_mem_map; mm++) {
> > +
> > +                   mmd = &info->mem_map_data[mm];
> > +
> > +                   if (mmd->mem_map == NOT_MEMMAP_ADDR)
> > +                           continue;
> > +
> > +                   if (mmd->pfn_end >= info->cyclic_start_pfn || 
> > mmd->pfn_start <= info->cyclic_end_pfn) {
> > +                           if (!__exclude_unnecessary_pages(mmd->mem_map,
> > +                                                            
> > mmd->pfn_start, mmd->pfn_end))
> > +                                   return FALSE;
> > +                   }
> > +           }
> > +   }
> 
> This patch misses reporting the time consumed for excluding necessary
> pages. I noticed this during benchmarking. Here is the patch I used at
> the time, but I wrote this version over your patch set.
 
Thank you for pointing out my mistake.
I'll merge the fix below into [PATCH 03/16].


Thanks
Atsushi Kumagai

>     Report the time consumed for excluding unnecessary pages in cyclic mode
> 
>     Here is the example:
> 
>     [Before]
>     STEP [Excluding free pages       ] : 0.500269 seconds
>     STEP [Excluding free pages       ] : 0.002081 seconds
>     STEP [Copying data               ] : 2.115097 seconds
> 
>     [After]
> 
>     STEP [Excluding free pages       ] : 0.002148 seconds
>     STEP [Excluding unnecessary pages] : 0.015641 seconds
>     STEP [Excluding free pages       ] : 0.002130 seconds
>     STEP [Excluding unnecessary pages] : 0.024436 seconds
>     STEP [Copying data               ] : 0.211287 seconds
> 
> diff --git a/makedumpfile.c b/makedumpfile.c
> index 0a43181..caac37b 100644
> --- a/makedumpfile.c
> +++ b/makedumpfile.c
> @@ -3882,6 +3882,7 @@ exclude_unnecessary_pages_cyclic(void)
>  {
>         unsigned int mm;
>         struct mem_map_data *mmd;
> +       struct timeval tv_start;
> 
>         /*
>          * Copy 1st-bitmap to 2nd-bitmap.
> @@ -3898,8 +3899,13 @@ exclude_unnecessary_pages_cyclic(void)
>         if (info->dump_level & DL_EXCLUDE_CACHE ||
>             info->dump_level & DL_EXCLUDE_CACHE_PRI ||
>             info->dump_level & DL_EXCLUDE_USER_DATA) {
> +
> +               gettimeofday(&tv_start, NULL);
> +
>                 for (mm = 0; mm < info->num_mem_map; mm++) {
> 
> +                       print_progress(PROGRESS_UNN_PAGES, mm, 
> info->num_mem_map);
> +
>                         mmd = &info->mem_map_data[mm];
> 
>                         if (mmd->mem_map == NOT_MEMMAP_ADDR)
> @@ -3911,6 +3917,12 @@ exclude_unnecessary_pages_cyclic(void)
>                                         return FALSE;
>                         }
>                 }
> +
> +               /*
> +                * print [100 %]
> +                */
> +               print_progress(PROGRESS_UNN_PAGES, info->num_mem_map, 
> info->num_mem_map);
> +               print_execution_time(PROGRESS_UNN_PAGES, &tv_start);
>         }
> 
>         return TRUE;
> 
> Thanks.
> HATAYAMA, Daisuke

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to