[PATCH 1/6] ARM: Add inline function smp_on_up() for early init testing

Bryan Wu bryan.wu at canonical.com
Wed Sep 8 23:45:18 EDT 2010


Tony,

Awesome, this makes SMP kernel work on my omap3 board.
Thanks a lot. I will test the same kernel on my omap4 one.

-Bryan.

On Thu, Sep 9, 2010 at 4:26 AM, Tony Lindgren <tony at atomide.com> wrote:
> * Tony Lindgren <tony at atomide.com> [100907 20:19]:
>> * Bryan Wu <bryan.wu at canonical.com> [100906 03:09]:
>> > Tony,
>> >
>> > I tried your latest branch: devel-smp-on-unicore, kernel boots up but
>> > got lots of WARN_ON fired:
>> >
>> > ---
>> > ------------[ cut here ]------------
>> > [    1.149719] WARNING: at mm/percpu-vm.c:320 pcpu_alloc+0x2fc/0x888()
>> > [    1.149780] Modules linked in:
>> > [    1.149841] [<c01b34c8>] (unwind_backtrace+0x0/0xe4) from
>> > [<c01e939c>] (warn_slowpath_common+0x4c/0x64)
>> > [    1.149902] [<c01e939c>] (warn_slowpath_common+0x4c/0x64) from
>> > [<c01e93cc>] (warn_slowpath_null+0x18/0x1c)
>> > [    1.149993] [<c01e93cc>] (warn_slowpath_null+0x18/0x1c) from
>> > [<c0274730>] (pcpu_alloc+0x2fc/0x888)
>> > [    1.150085] [<c0274730>] (pcpu_alloc+0x2fc/0x888) from [<c0279578>]
>> > (sget+0x198/0x43c)
>> > [    1.150146] [<c0279578>] (sget+0x198/0x43c) from [<c0279adc>]
>> > (get_sb_ns+0x20/0x90)
>> > [    1.150238] [<c0279adc>] (get_sb_ns+0x20/0x90) from [<c02791a4>]
>> > (vfs_kern_mount+0x9c/0x18c)
>> > [    1.150299] [<c02791a4>] (vfs_kern_mount+0x9c/0x18c) from
>> > [<c0022280>] (init_mqueue_fs+0x68/0xc8)
>> > [    1.150390] [<c0022280>] (init_mqueue_fs+0x68/0xc8) from
>> > [<c01ac5d0>] (do_one_initcall+0xcc/0x1a4)
>> > [    1.150451] [<c01ac5d0>] (do_one_initcall+0xcc/0x1a4) from
>> > [<c0008760>] (kernel_init+0x148/0x210)
>> > [    1.150543] [<c0008760>] (kernel_init+0x148/0x210) from
>> > [<c01adcf8>] (kernel_thread_exit+0x0/0x8)
>> > [    1.150604] ---[ end trace 1b75b31a2719ed74 ]---
>> > ---
>> >
>> > It looks like we still missed to set some flag for chuck.
>>
>> Yeah I think there's some .config option that needs to be handled
>> properly to fix this.
>
> This seems to disappear when CONFIG_LOCK_STAT is disabled,
> I wonder why?
>
> Here are my current changes to omap3_defconfig that I use for testing.
>
> Tony
> --- a/arch/arm/configs/omap3_defconfig
> +++ b/arch/arm/configs/omap3_defconfig
> @@ -55,6 +55,7 @@ CONFIG_MACH_OMAP_4430SDP=y
>  CONFIG_ARM_THUMBEE=y
>  CONFIG_NO_HZ=y
>  CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_SMP=y
>  CONFIG_AEABI=y
>  CONFIG_LEDS=y
>  CONFIG_ZBOOT_ROM_TEXT=0x0
> @@ -218,9 +219,9 @@ CONFIG_USB_DEVICEFS=y
>  CONFIG_USB_SUSPEND=y
>  # CONFIG_USB_OTG_WHITELIST is not set
>  CONFIG_USB_MON=y
> -CONFIG_USB_MUSB_HDRC=y
> -CONFIG_USB_MUSB_OTG=y
> -CONFIG_USB_GADGET_MUSB_HDRC=y
> +# CONFIG_USB_MUSB_HDRC is not set
> +# CONFIG_USB_MUSB_OTG is not set
> +# CONFIG_USB_GADGET_MUSB_HDRC is not set
>  CONFIG_USB_MUSB_DEBUG=y
>  CONFIG_USB_WDM=y
>  CONFIG_USB_STORAGE=y
> @@ -276,7 +277,7 @@ CONFIG_DEBUG_KERNEL=y
>  CONFIG_SCHEDSTATS=y
>  CONFIG_TIMER_STATS=y
>  CONFIG_PROVE_LOCKING=y
> -CONFIG_LOCK_STAT=y
> +# CONFIG_LOCK_STAT is not set
>  CONFIG_DEBUG_SPINLOCK_SLEEP=y
>  # CONFIG_DEBUG_BUGVERBOSE is not set
>  CONFIG_DEBUG_INFO=y
>



-- 
Bryan Wu <bryan.wu at canonical.com>
Kernel Developer    +86.138-1617-6545 Mobile
Ubuntu Kernel Team
Canonical Ltd.      www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com



More information about the linux-arm-kernel mailing list