[#5983] BF561-EZKIT SMP kernel fail to boot up when preempt is enabled
Submitted By: Vivi Li
Open Date
2010-03-22 06:26:02 Close Date
2010-08-17 22:03:06
Priority:
Medium Assignee:
Sonic Zhang
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Category:
N/A Board:
N/A
Processor:
BF561 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
gcc4.3-2010_Jan_22
App binary format:
N/A
Summary: BF561-EZKIT SMP kernel fail to boot up when preempt is enabled
Details:
BF561-EZKIT SMP kernel fail to boot up when preempt is enabled.
Last passed version:
--
kernel: Linux release 2.6.32.9-ADI-2010R1-pre-svn8361, build #24 SMP Thu Mar 4 00:02:27 GMT 2010
toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3815)
user-dist: release svn-9476, build #280 Thu Mar 4 00:01:14 GMT 2010
--
First failed version:
--
kernel: Linux release 2.6.33.1-ADI-2010R1-pre-svn8466, build #4 SMP Wed Mar 17 00:59:34 GMT 2010
toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3815)
user-dist: release svn-9498, build #20 Wed Mar 17 00:58:20 GMT 2010
--
--
Linux version 2.6.33.1-ADI-2010R1-pre-svn8523 (test@uclinux65-561-SMP) (gcc version 4.3.4 (ADI-trunk/svn-3815) ) #20 SMP PREEMPT0
register early platform devices
bootconsole [early_shadow0] enabled
bootconsole [early_BFuart0] enabled
early printk enabled on early_BFuart0
Board Memory: 64MB
Kernel Managed Memory: 64MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x00113dc0
rodata = 0x00113dc0-0x001685b0
bss = 0x00169000-0x0017aea0
data = 0x0017aea0-0x0018c000
stack = 0x0018a000-0x0018c000
init = 0x0018c000-0x0029e000
available = 0x0029e000-0x03f00000
DMA Zone = 0x03f00000-0x04000000
Hardware Trace Active and Enabled
Boot Mode: 0
Blackfin support (C) 2004-2009 Analog Devices, Inc.
Compiled for ADSP-BF561 Rev 0.5
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 600 MHz core clock and 100 MHz System Clock
NOMPU: setting up cplb tables
NOMPU: setting up cplb tables
Instruction Cache Enabled for CPU0
External memory: cacheable in instruction cache
L2 SRAM : uncacheable in instruction cache
Data Cache Enabled for CPU0
External memory: cacheable (write-through) in data cache
L2 SRAM : uncacheable in data cache
PERCPU: Embedded 6 pages/cpu @00323000 s3712 r8192 d12672 u65536
pcpu-alloc: s3712 r8192 d12672 u65536 alloc=16*4096
pcpu-alloc: [0] 0 [0] 1
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16002
Kernel command line: root=/dev/mtdblock0 rw clkin_hz=30000000 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50f
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory available: 61204k/65536k RAM, (1096k init code, 1099k kernel code, 481k data, 1024k dma, 632k reserved)
Hierarchical RCU implementation.
NR_IRQS:153
Configuring Blackfin Priority Driven Interrupts
console [ttyBF0] enabled, bootconsole disabled
console [ttyBF0] enabled, bootconsole disabled
Calibrating delay loop... 1183.74 BogoMIPS (lpj=2367488)
Mount-cache hash table entries: 512
CoreB bootstrap code to SRAM ff600000 via DMA.
Booting Core B.
Instruction Cache Enabled for CPU1
External memory: cacheable in instruction cache
L2 SRAM : uncacheable in instruction cache
Data Cache Enabled for CPU1
External memory: cacheable (write-through) in data cache
L2 SRAM : uncacheable in data cache
Brought up 2 CPUs
SMP: Total of 2 processors activated (4.09 BogoMIPS).
Blackfin Scratchpad data SRAM: 4 KB
Blackfin Scratchpad data SRAM: 4 KB
Blackfin L1 Data A SRAM: 16 KB (16 KB free)
Blackfin L1 Data A SRAM: 16 KB (16 KB free)
Blackfin L1 Data B SRAM: 16 KB (16 KB free)
Blackfin L1 Data B SRAM: 16 KB (16 KB free)
Blackfin L1 Instruction SRAM: 16 KB (15 KB free)
Blackfin L1 Instruction SRAM: 16 KB (15 KB free)
Blackfin L2 SRAM: 128 KB (127 KB free)
NET: Registered protocol family 16
Blackfin DMA Controller
ezkit_init(): registering device resources
bio: create slab <bio-0> at 0
Switching to clocksource jiffies
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 128 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 128 (order: 0, 4096 bytes)
NET: Registered protocol family 1
msgmni has been set to 119
io scheduler noop registered (default)
bfin-uart: Blackfin serial driver
bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 35) is a BFIN-UART
brd: module loaded
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@16
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@fluxnic.net>
eth0: SMC91C11xFD (rev 1) at 2c010300 IRQ 82 [nowait]
eth0: Ethernet addr: 00:e0:22:fe:b1:3c
TCP cubic registered
NET: Registered protocol family 17
eth0: link down
IP-Config: Complete:
device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,
host=bf561-ezkit, domain=, nis-domain=(none),
bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=
Freeing unused kernel memory: 1096k freed
dma_alloc_init: dma_page @ 0x022ea000 - 256 pages at 0x03f00000
BUG: using smp_processor_id() in preemptible [00000000] code: init/1
caller is _smp_call_function+0x22/0x138
Hardware Trace:
0 Target : <0x00111d78> { _dump_stack + 0x0 }
Source : <0x000a0dc8> { _debug_smp_processor_id + 0xd0 } CALL pcrel
1 Target : <0x000a0dc8> { _debug_smp_processor_id + 0xd0 }
Source : <0x00038dc8> { ___print_symbol + 0x28 } RTS
2 Target : <0x00038dbe> { ___print_symbol + 0x1e }
Source : <0x00111f28> { _printk + 0x14 } RTS
3 Target : <0x00111f24> { _printk + 0x10 }
Source : <0x00019a40> { _vprintk + 0x1b4 } RTS
4 Target : <0x00019a30> { _vprintk + 0x1a4 }
Source : <0x0000c6ca> { ___raw_atomic_test_asm + 0x1a } RTS
5 Target : <0x0000c6b0> { ___raw_atomic_test_asm + 0x0 }
Source : <0x0000c80a> { ___raw_bit_test_asm + 0x6 } JUMP.S
6 Target : <0x0000c804> { ___raw_bit_test_asm + 0x0 }
Source : <0x00019a2c> { _vprintk + 0x1a0 } JUMP.L
7 Target : <0x00019a22> { _vprintk + 0x196 }
Source : <0x000137aa> { _sub_preempt_count + 0x26 } RTS
8 Target : <0x00013798> { _sub_preempt_count + 0x14 }
Source : <0x000137c6> { _sub_preempt_count + 0x42 } IF !CC JUMP pcrel (BP)
9 Target : <0x000137ac> { _sub_preempt_count + 0x28 }
Source : <0x00013796> { _sub_preempt_count + 0x12 } IF CC JUMP pcrel
10 Target : <0x00013784> { _sub_preempt_count + 0x0 }
Source : <0x00019a1e> { _vprintk + 0x192 } JUMP.L
11 Target : <0x00019a1c> { _vprintk + 0x190 }
Source : <0x0000b10e> { __common_int_entry + 0xea } RTI
12 Target : <0x0000b09c> { __common_int_entry + 0x78 }
Source : <0x0000aeb8> { _return_from_int + 0x58 } RTS
13 Target : <0x0000aeb8> { _return_from_int + 0x58 }
Source : <0x0000ae8e> { _return_from_int + 0x2e } IF !CC JUMP pcrel
14 Target : <0x0000ae60> { _return_from_int + 0x0 }
Source : <0x0000b098> { __common_int_entry + 0x74 } JUMP.L
15 Target : <0x0000b096> { __common_int_entry + 0x72 }
Source : <0x00004a4c> { _asm_do_IRQ + 0x88 } RTS
Stack info:
SP: [0x0202bc9c] <0x0202bc9c> /* kernel dynamic memory */
Memory from 0x0202bc90 to 0202c000
0202bc90: 00000001 0202bc9c 00019000 [000a0d84] 000a0dcc 022d9200 0202a000 02009fb0
0202bcb0: 00000000 02028da8 00000001 0000beda 02320000 02339000 02320000 00000005
0202bcd0: 00000077 00000000 0004b506 0000c4ba 00000003 022f9400 0000c010 022d9200
0202bcf0: 023045f4 00000000 02320000 02339000 02320000 00019000 0000bc14 0016f260
0202bd10: 00000000 0004ba90 00113a8e 022f9400 00019000 00000004 00000002 00000000
0202bd30: 0202bd38 022d9200 00000004 00000355 0007b8c6 022d9200 00000000 000054c0
0202bd50: 0202a000 00018b3b 000054c0 00000d98 00000000 001881c0 00000000 00000007
0202bd70: 00000002 00000000 00000000 00000000 00000000 00001067 00000000 00000000
0202bd90: 00000000 00000d98 00011878 00000001
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
00000000 00000000 00000000 00000000
0202bdb0: 00000000 00000d54 00000004 00018b3b 00019000 00000000 00000000 00000000
0202bdd0: 00000000 0202be30 0007c102 022d9200 00000000 00182fdc 022d9200 fffffff8
0202bdf0: 0202a008 0202becc 01000000 0202be0c 00000000 0202be2c 0202be28 00000000
0202be10: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001067
0202be30: 0007c0b0 <00054cee> 0202a000 00000000 00182fdc 022d9200 fffffff8 0202a008
0202be50: 00182bd0 0202bfa8 0202becc 0017b854 022d9202 00000000 00000000 0202bfa8
0202be70: 00055b00 0202a000 0017b8e4 001a1fc0 00000000 022d9200 0013b680 00000000
0202be90: 00000000 0202becc 0202bedc 00000000 0000abf8 0017b8e4 00169018 00000002
0202beb0: 00000003 0000001f 00000000 00000000 00000028 0011d288 0202becc 00000000
0202bed0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bef0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bf10: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bf30: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bf50: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bf70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0202bf90: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000130e
0202bfb0: 0017b8e0 00142c54 00000448 0018c37a 00174428 0017b8e0 00000000 00000002
0202bfd0: 00000003 <00001666> 00000000 00000000 00000000 00000000 00000000 00000000
0202bff0: 00000000 00000000 ffffffff 00000006
Return addresses in stack:
address : <0x00054cee> { _search_binary_handler + 0x106 }
address : <0x00001666> { _kernel_thread_helper + 0x6 }
--
Follow-ups
--- Sonic Zhang 2010-06-25 01:53:04
Fixed by disable preemption when call smp_processor_id().
--- Vivi Li 2010-08-17 22:03:06
OK, close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.ltp_high_res_timer_preempt application/octet-stream 26745 Vivi Li