lkml.org 
[lkml]   [2013]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/6] memblock: Introduce bottom-up allocation mode
On 09/24/2013 09:23 PM, Tejun Heo wrote:
> On Tue, Sep 24, 2013 at 09:17:16PM +0800, Zhang Yanfei wrote:
>>> Maybe just print warning only on the first failure?
>>
>> Hmmm... This message is for each memblock allocation, that said, if the
>> allocation this time fails, it prints the message and we use so called top-down.
>> But next time, we still use bottom up first again.
>>
>> Did you mean if we fail on one bottom-up allocation, then we never try
>> bottom-up again and will always use top-down?
>
> Nope, it's just that it might end up printing something for each alloc
> which can end up flooding console / log. The first failure is the
> most interesting and pretty much defeats the purpose of the whole
> thing after all. If it's expected to fail very rarely, I'd just stick
> in WARN_ONCE() there as the stack trace would be interesting too.
>

I see. I think it is rarely to fail. But here is case that it must
fail in the current bottom-up implementation. For example, we allocate
memory in reserve_real_mode() by calling this:
memblock_find_in_range(0, 1<<20, size, PAGE_SIZE);

Both the start and end is below the kernel, so trying bottom-up for
this must fail. So I am now thinking that if we should take this as
the special case for bottom-up. That said, if we limit start and end
both below the kernel, we should allocate memory below the kernel instead
of make it fail. The cases are also rare, in early boot time, only
these two:

|->early_reserve_e820_mpc_new() /* allocate memory under 1MB */
|->reserve_real_mode() /* allocate memory under 1MB */

How do you think?

--
Thanks.
Zhang Yanfei


\
 
 \ /
  Last update: 2013-09-24 16:21    [W:0.069 / U:0.612 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site