lkml.org 
[lkml]   [2010]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 16/35] x86: make 64 bit use early_res instead of bootmem before slab
Hello, Yinghai.

On 02/25/2010 08:32 AM, Yinghai Lu wrote:
>>> Kernel panic - not syncing: free_early on not reserved area: 2f80000-2f9ffff!
>>> Pid: 0, comm: swapper Not tainted 2.6.33-rc8-tip-00918-gb34d361 #159
>>> Call Trace:
>>> [<ffffffff815d12e2>] panic+0x84/0x147
>>> [<ffffffff81cceecb>] free_early+0x64/0x6d
>>> [<ffffffff81cd2231>] free_bootmem+0xc/0xe
>>> [<ffffffff81cc1cd6>] pcpu_fc_free+0x1d/0x1f
>>> [<ffffffff81cd6056>] pcpu_embed_first_chunk+0x13a/0x27f
>>> [<ffffffff81cc1cd8>] ? pcpu_fc_alloc+0x0/0xac
>>> [<ffffffff81cc1cb9>] ? pcpu_fc_free+0x0/0x1f
>>> [<ffffffff81cc1af7>] setup_per_cpu_areas+0x82/0x239
>>> [<ffffffff81cb5b3c>] start_kernel+0x1b8/0x43b
>>> [<ffffffff81cb52bc>] x86_64_start_reservations+0xa7/0xab
>>> [<ffffffff81cb53b8>] x86_64_start_kernel+0xf8/0x107
>>>
>>
>> we can not handle partial free, and current only user for that is pcpu_setup...
>
> any plan to pcpu_setup to use slab allocation instead of bootmem?
> that code is only one user that do partial bootmem free.

The problem is that the pcpu_embed_first_chunk() allocator depends on
having a large contiguous slab of memory to overlay the percpu
variables and then giving back the unused parts (due to layout and
cpu_possible_mask not being contiguous). There's no way to do partial
alloc/free anymore?

Thanks.

--
tejun


\
 
 \ /
  Last update: 2010-02-25 03:01    [W:0.078 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site