Re: [PATCH v3 5/8] mm: don't track number of pages during deferred initialization

2020-05-27 Thread Alexander Duyck
On Wed, May 27, 2020 at 10:37 AM Daniel Jordan
 wrote:
>
> Deferred page init used to report the number of pages initialized:
>
>   node 0 initialised, 32439114 pages in 97ms
>
> Tracking this makes the code more complicated when using multiple
> threads.  Given that the statistic probably has limited value,
> especially since a zone grows on demand so that the page count can vary,
> just remove it.
>
> The boot message now looks like
>
>   node 0 deferred pages initialised in 97ms
>
> Signed-off-by: Daniel Jordan 
> Suggested-by: Alexander Duyck 

This looks good to me.

Reviewed-by: Alexander Duyck 

> ---
>  mm/page_alloc.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index d0c0d9364aa6d..d64f3027fdfa6 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1819,7 +1819,7 @@ static int __init deferred_init_memmap(void *data)
>  {
> pg_data_t *pgdat = data;
> const struct cpumask *cpumask = cpumask_of_node(pgdat->node_id);
> -   unsigned long spfn = 0, epfn = 0, nr_pages = 0;
> +   unsigned long spfn = 0, epfn = 0;
> unsigned long first_init_pfn, flags;
> unsigned long start = jiffies;
> struct zone *zone;
> @@ -1868,15 +1868,15 @@ static int __init deferred_init_memmap(void *data)
>  * allocator.
>  */
> while (spfn < epfn) {
> -   nr_pages += deferred_init_maxorder(, zone, , );
> +   deferred_init_maxorder(, zone, , );
> cond_resched();
> }
>  zone_empty:
> /* Sanity check that the next zone really is unpopulated */
> WARN_ON(++zid < MAX_NR_ZONES && populated_zone(++zone));
>
> -   pr_info("node %d initialised, %lu pages in %ums\n",
> -   pgdat->node_id, nr_pages, jiffies_to_msecs(jiffies - start));
> +   pr_info("node %d deferred pages initialised in %ums\n",
> +   pgdat->node_id, jiffies_to_msecs(jiffies - start));
>
> pgdat_init_report_one_done();
> return 0;
> --
> 2.26.2
>
>


[PATCH v3 5/8] mm: don't track number of pages during deferred initialization

2020-05-27 Thread Daniel Jordan
Deferred page init used to report the number of pages initialized:

  node 0 initialised, 32439114 pages in 97ms

Tracking this makes the code more complicated when using multiple
threads.  Given that the statistic probably has limited value,
especially since a zone grows on demand so that the page count can vary,
just remove it.

The boot message now looks like

  node 0 deferred pages initialised in 97ms

Signed-off-by: Daniel Jordan 
Suggested-by: Alexander Duyck 
---
 mm/page_alloc.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index d0c0d9364aa6d..d64f3027fdfa6 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1819,7 +1819,7 @@ static int __init deferred_init_memmap(void *data)
 {
pg_data_t *pgdat = data;
const struct cpumask *cpumask = cpumask_of_node(pgdat->node_id);
-   unsigned long spfn = 0, epfn = 0, nr_pages = 0;
+   unsigned long spfn = 0, epfn = 0;
unsigned long first_init_pfn, flags;
unsigned long start = jiffies;
struct zone *zone;
@@ -1868,15 +1868,15 @@ static int __init deferred_init_memmap(void *data)
 * allocator.
 */
while (spfn < epfn) {
-   nr_pages += deferred_init_maxorder(, zone, , );
+   deferred_init_maxorder(, zone, , );
cond_resched();
}
 zone_empty:
/* Sanity check that the next zone really is unpopulated */
WARN_ON(++zid < MAX_NR_ZONES && populated_zone(++zone));
 
-   pr_info("node %d initialised, %lu pages in %ums\n",
-   pgdat->node_id, nr_pages, jiffies_to_msecs(jiffies - start));
+   pr_info("node %d deferred pages initialised in %ums\n",
+   pgdat->node_id, jiffies_to_msecs(jiffies - start));
 
pgdat_init_report_one_done();
return 0;
-- 
2.26.2