RE: [RFC] Free the reserved memblock when free cma pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kim,

I think move memblock_free into init_cma_reserved_pageblock
Is not a good idea,
Because this will need call memblock_free for
Every page release,
Think that for a 4MB memory, need call memblock_free
1024 times , instead, we just call memblock_free one
Time for every pageblock_nr_pages pages .

I will add some descriptions in cma_declare_contiguous
For patch version 2 .

Thanks

-----Original Message-----
Hello,

On Tue, Sep 09, 2014 at 02:13:58PM +0800, Wang, Yalin wrote:
> This patch add memblock_free to also free the reserved memblock, so 
> that the cma pages are not marked as reserved memory in 
> /sys/kernel/debug/memblock/reserved debug file
> 
> Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx>
> ---
>  mm/cma.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/cma.c b/mm/cma.c
> index c17751c..f3ec756 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -114,6 +114,8 @@ static int __init cma_activate_area(struct cma *cma)
>  				goto err;
>  		}
>  		init_cma_reserved_pageblock(pfn_to_page(base_pfn));
> +		memblock_free(__pfn_to_phys(base_pfn),
> +				pageblock_nr_pages * PAGE_SIZE);

Nitpick:

Couldn't we add memblock_free into init_cma_reserved_pageblock?
Because it should be pair with ClearPageReserved, I think.

In addition, please add description on memory reserve part in cma_declare_contiguous.

>  	} while (--i);
>  
>  	mutex_init(&cma->lock);
> --
> 2.1.0
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in the body 
> to majordomo@xxxxxxxxx.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

--
Kind regards,
Minchan Kim
��.n������g����a����&ޖ)���)��h���&������梷�����Ǟ�m������)������^�����������v���O��zf������





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]