[PATCH v2] memblock: add no-map alloc functions

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

 



> > From: Daero Lee <daero_le.lee@xxxxxxxxxxx>
> > 
> > Like reserved-memory with the no-map property, there are memory regions
> > need to be allocated in memblock.memory marked with the
> > MEMBLOCK_NOMAP flag, but sholud not be allocated in memblock.reserved.
> 
> Can you please explain your use case?
> Why do you need this functionality?
Thank you for your comments.
I added a example to the commit message.

> > So, functions were added that find the required memory area in
> > memblock.memory, but do not allocate it to memblock.reserved.
> > 
> > The early_init_dt_alloc_reserved_memory_arch function was modified
> > using the no-map alloc function.
> > 
> > Signed-off-by: Daero Lee <daero_le.lee@xxxxxxxxxxx>
> > ---
> >  drivers/of/of_reserved_mem.c |  9 +++--
> >  mm/memblock.c                | 78 ++++++++++++++++++++++++++++++++++++
> >  2 files changed, 84 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
> > index 8236ecae2953..504f2f60689c 100644
> > --- a/drivers/of/of_reserved_mem.c
> > +++ b/drivers/of/of_reserved_mem.c
> > @@ -40,15 +40,18 @@ static int __init early_init_dt_alloc_reserved_memory_arch(phys_addr_t size,
> >  
> >  	end = !end ? MEMBLOCK_ALLOC_ANYWHERE : end;
> >  	align = !align ? SMP_CACHE_BYTES : align;
> > -	base = memblock_phys_alloc_range(size, align, start, end);
> > +	if (nomap) {
> > +		base = memblock_phys_alloc_range_nomap(size, align, start, end);
> > +	} else {
> > +		base = memblock_phys_alloc_range(size, align, start, end);
> > +	}
> > +	
>
> This changes behaviour of internal function, what effect will it have on
> the users?
I added explanation about this to the commit message, too.

Thank you.




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

  Powered by Linux