Wind River Support Network

HomeDefectsLIN5-13999
Fixed

LIN5-13999 : BUG: soft lockup in i_size_read()

Created: Dec 27, 2012    Updated: Dec 19, 2017
Resolved Date: Dec 19, 2013
Previous ID: LIN3-21229
Found In Version: 5.0
Fix Version: 5.0.1.11
Severity: Severe
Applicable for: Wind River Linux 5
Component/s: Kernel

Description

If i_size_write() acquired sequence lock and preempt i_size_read(), 
i_size_read() never succeed to acquire sequence lock.

    SCHED_RR priority 99 RT call i_size_write()
    SCHED_RR priority 50 RT call i_size_read()

[Environment]
WRLinux-3.0.2 fsl_p2020ds

Steps to Reproduce

Please use the attached test program:

1) ./tp_ltc_main.sh

2) top -p <tp_ltc_sync pid>

3) 5-10 minutes after, tp_ltc_sync's %CPU 99-100.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
  263 root      RT   0  1708  308  260 R 100.2  0.0   5:35.83 tp_ltc_sync       

4) taskset 0x2 echo l > /proc/sysrq-trigger

5) dmesg

SysRq : Show backtrace of all active CPUs
CPU0:
Call Trace:
[ece5fc20] [c0008498] show_stack+0x78/0x1d0 (unreliable)
[ece5fc60] [c0218220] showacpu+0x74/0xa4
[ece5fc80] [c006517c] generic_smp_call_function_single_interrupt+0xf8/0x17c
[ece5fcc0] [c0013aa8] smp_message_recv+0x60/0x98
[ece5fcd0] [c001abd0] mpic_ipi_action+0x28/0x44
[ece5fce0] [c006d340] _handle_IRQ_event+0xa8/0x17c
[ece5fd10] [c006d4c4] handle_IRQ_event+0xb0/0x160
[ece5fd30] [c007000c] handle_percpu_irq+0x90/0xf4
[ece5fd50] [c00058e8] do_IRQ+0xa4/0x128
[ece5fd70] [c0012b68] ret_from_except+0x0/0x18
[ece5fe30] [00000000] 0x0
[ece5fe40] [c00e9188] generic_sync_sb_inodes+0x1a4/0x524
[ece5fe80] [c00e9608] sync_inodes_sb+0x100/0x124
[ece5fed0] [c00e96d0] __sync_inodes+0xa4/0x104
[ece5fef0] [c00e9770] sync_inodes+0x40/0x5c
[ece5ff10] [c00edb6c] do_sync+0x54/0xa0
[ece5ff30] [c00edbe0] sys_sync+0x28/0x44
[ece5ff40] [c0012510] ret_from_syscall+0x0/0x3c
root@p2020ds:/root> 

Other Downloads


Live chat
Online