Re: [PATCH 16/35] x86: make 64 bit use early_res instead of bootmem before slab

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

 



On 02/24/2010 06:07 PM, Tejun Heo wrote:
> 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?

ok, will add free_early_partial to handle it.

i got impression, when we are moving slab ealier.
you said that will check to make percpu setup to use slab allocator instead.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux