[#5793] bf561 smp: kernel panic if enabling high resolution timer

Document created by Aaronwu Employee on Sep 5, 2013
Version 1Show Document
  • View in full screen mode

[#5793] bf561 smp: kernel panic if enabling high resolution timer

Submitted By: Yi Li

Open Date

2009-12-25 04:37:36     Close Date

2010-01-04 01:04:12

Priority:

Medium     Assignee:

Yi Li

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.:

2009R1

App binary format:

N/A     

Summary: bf561 smp: kernel panic if enabling high resolution timer

Details:

 

If enable SMP on BF561 and configure HRT as bellow, kernel will panic:

 

CONFIG_GENERIC_TIME=y

CONFIG_GENERIC_CLOCKEVENTS=y

# CONFIG_TICKSOURCE_GPTMR0 is not set

CONFIG_TICKSOURCE_CORETMR=y

CONFIG_GPTMR0_CLOCKSOURCE=y

CONFIG_TICK_ONESHOT=y

CONFIG_HIGH_RES_TIMERS=y

CONFIG_GENERIC_CLOCKEVENTS_BUILD=y

 

 

## Booting kernel from Legacy Image at 01000000 ...

   Image Name:   bf561-2.6.32.2-ADI-2010R1-pre-sv

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    4495281 Bytes =  4.3 MB

   Load Address: 00001000

   Entry Point:  001aed78

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 001aed78

Linux version 2.6.32.2-ADI-2010R1-pre-svn8064 (adam@adam-laptop) (gcc version 4.1.2 (ADI svn)) #101 SMP Tue Dec 22 17:14:44 CST 2009

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-0x0011e4f0

  rodata    = 0x0011e500-0x0017fa9c

  bss       = 0x00180000-0x001924a8

  data      = 0x001924c0-0x001a2000

    stack   = 0x001a2000-0x001a4000

  init      = 0x001a4000-0x008ce000

  available = 0x008ce000-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

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=192.168.1.102:192.168.1.101:192.168.0.1:255.255.255.0:bf561-ezkit:eth0:off

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: 54900k/65536k RAM, (7336k init code, 1141k kernel code, 535k data, 1024k dma, 600k reserved)

Hierarchical RCU implementation.

NR_IRQS:121

Configuring Blackfin Priority Driven Interrupts

console [ttyBF0] enabled, bootconsole disabled

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 1187.84 BogoMIPS (lpj=2375680)

Security Framework initialized

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

Calibrating delay loop...

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 bfin_cs_gptimer0

1589.24 BogoMIPS (lpj=3178496)

------------[ cut here ]------------

kernel BUG at kernel/hrtimer.c:1255!

Kernel panic - not syncing: BUG()

Hardware Trace:

Stack info:

SP: [0x0204bbc0] <0x0204bbc0> /* kernel dynamic memory (maybe user-space) */

FP: (0x0204bbc4)

Memory from 0x0204bbc0 to 0204c000

0204bbc0:[0203a340](0204bbe8)<00018bd4> 0204bcb4  001516e4  00186b22  00186b22  00186f22

0204bbe0: 0204bc04  0204bc04 (0204bc8c)<000057be> 0204bcb4  ffe02014  0203a340  00008048

0204bc00: 0208ee44  0000003f  0000001f  00000001  00000001  0000003f  0000003f <0000c136>

0204bc20:<0011e2b0><0009cc9a> 0204bc48 <0000bb7e> 0204bc48 <0000bba8> cccccccd  0204bce0

0204bc40:<00012498> 009519a0  0204bc70 <0003989c> 02009a60  0018d13c  00000046  00000000

0204bc60: 00000000  008ccc60  00000000  0095419c  0204bc98  0204bc98 <0003b09e> 00197a80

0204bc80: 00000046  0204be84  ffe05000 (0204bdb4)<0000a754> 00182068  00008048  00000021

0204bca0: 00000000  00000006 <0002e56c> 009543ac  00000480  00000480  00008048  00000021

0204bcc0: 00000000  0204bd90  00000480  0002c864 <0000817a> 00000000  00003065  0005d1ac

0204bce0: 000a3694  0005d19a  000a3674  00000000  00000000  00000000  00000000  00000000

0204bd00: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0204bd20: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0204bd40: 00000002  0204c000  0204bdb4  00193260  009542a8  0203a340  00087d40  008cc568

0204bd60: 00000001  00000006  00000000  00000000  00000006  0204be84  0000001f  00000000

0204bd80: 00000000  00000000  00000001  00000006  0204bda4 <0000b7ce> 00000100  008cc488

0204bda0: 00954440  0204bde4 <0000c074> fffffffc  00000100 (0204bde4)<0000817a> 00193260

0204bdc0: 0018d13c  0203a340  00000006  00000000  00000000  00000006  00193260  0208ede4

0204bde0: 00000001 (0204bdfc)<0003989c> 001932a8  0000003f  0000003f <0000c136>(0204be24)

0204be00:<0003b072> 00196280  00000006  00000000  ffe05000  0204a000 <0001dabe> 0204a000

0204be20: 00000025 (0204be40)<00005a16> 008cca18  00000006  00000046  0204be4c <0003989c>

0204be40:(0204be70)<0000b2b0> ffc00014  009549a0  00199378  00000040  00197a20  00000045

0204be60: 00000000  00000000 <0001dabe> 00000480 (00000000)<0000ad28><00005a16> 0204be90

0204be80:<000059e8> 000134de  00008050  00000026  00000000  00000000  00000000  000134de

0204bea0:<000134b8> 00000006  00002060  0005d1ac  000a3694  0005d19a  000a3674  00000000

0204bec0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0204bee0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

0204bf00: 00000000  00000000  00000000  00000000  00000002  0204c000  0204bf6c  0207e0c0

0204bf20: 009549a0  0203a340  00182068  00000068  feb00000  00199378  00000040  ffe05000

0204bf40: 0204a000  00000004  0000001f  00000000  0000ffff  0000ffff  feb00000  00000006

0204bf60: 009549a0  0203a340  00199378  0204bfa0 <0011ce64> 00000001  00199378  00000000

0204bf80: 0204a000  0204a008  00000000  0204a000  0203a4cc  008ccc60  0204a000  0204a000

0204bfa0: 0204bfd0 <00001b8c> 00001e08  00180268  00000000  0204a008  00000000  00000000

0204bfc0: 00000000 <001b9a88><001ba0c8> 00000635  0204bff0 <001b9e16> ffe05000  00000000

0204bfe0: 00000001 <001af516> 00000000  00000000  0204c000 <001af51c> 00000000  00000000

Return addresses in stack:

   frame  1 : <0x00018bd4> { _panic + 0x48 }

   frame  2 : <0x000057be> { _trap_c + 0x3ae }

    address : <0x0000c136> { ___raw_spin_lock_asm + 0x1a }

    address : <0x0011e2b0> { __spin_unlock_irqrestore + 0xc }

    address : <0x0009cc9a> { _cpumask_next_and + 0x22 }

    address : <0x0000bb7e> { _ipi_handler_int1 + 0xba }

    address : <0x0000bba8> { _ipi_handler_int1 + 0xe4 }

    address : <0x00012498> { _find_busiest_group + 0xf4 }

    address : <0x0003989c> { _handle_IRQ_event + 0x50 }

    address : <0x0003b09e> { _handle_percpu_irq + 0x62 }

   frame  3 : <0x0000a754> { _exception_to_level5 + 0xb8 }

    address : <0x0002e56c> { _sched_clock_cpu + 0x1c }

    address : <0x0000817a> { _timer_interrupt + 0x16 }

    address : <0x0000b7ce> { _resync_core_dcache + 0x16 }

    address : <0x0000c074> { ___raw_smp_check_barrier_asm + 0x4c }

   frame  4 : <0x0000817a> { _timer_interrupt + 0x16 }

   frame  5 : <0x0003989c> { _handle_IRQ_event + 0x50 }

    address : <0x0000c136> { ___raw_spin_lock_asm + 0x1a }

   frame  6 : <0x0003b072> { _handle_percpu_irq + 0x36 }

    address : <0x0001dabe> { _irq_enter + 0x5e }

   frame  7 : <0x00005a16> { _asm_do_IRQ + 0x82 }

    address : <0x0003989c> { _handle_IRQ_event + 0x50 }

   frame  8 : <0x0000b2b0> { _do_irq + 0x7c }

    address : <0x0001dabe> { _irq_enter + 0x5e }

   frame  9 : <0x0000ad28> { __common_int_entry + 0x74 }

    address : <0x00005a16> { _asm_do_IRQ + 0x82 }

    address : <0x000059e8> { _asm_do_IRQ + 0x54 }

    address : <0x000134b8> { _finish_task_switch + 0x1c }

    address : <0x0011ce64> { _schedule + 0x12c }

    address : <0x00001b8c> { _cpu_idle + 0x34 }

    address : <0x001b9a88> { _calibrate_delay + 0x160 }

    address : <0x001ba0c8> { _platform_secondary_init + 0x118 }

    address : <0x001b9e16> { _secondary_start_kernel + 0x9a }

    address : <0x001af516> { _coreb_start + 0x26 }

    address : <0x001af51c> { _coreb_start + 0x2c }

CPU0: stopping

Hardware Trace:

   0 Target : <0x0000536c> { _dump_stack + 0x0 }

     Source : <0x0000b8ce> { _ipi_cpu_stop + 0x22 } CALL pcrel

   1 Target : <0x0000b8ce> { _ipi_cpu_stop + 0x22 }

     Source : <0x0001998e> { _printk + 0x16 } RTS

   2 Target : <0x0001998a> { _printk + 0x12 }

     Source : <0x000197c6> { _vprintk + 0x16a } RTS

   3 Target : <0x000197be> { _vprintk + 0x162 }

     Source : <0x00019796> { _vprintk + 0x13a } IF !CC JUMP

   4 Target

 

Follow-ups

 

--- Yi Li                                                    2010-01-04 01:04:19

fixed and close.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes