Soft lockup in FS Code while reading from disk.

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

 



Hi All,
I am attempting a simple disk based FS written as a module.
As part of registering the filesystem, I read the superblock from the disk and use the information from the superblock on disk.
I use sb_read to read the super block block.

But on attempting to read an inode(root) from disk, which is on another block on the disk, the call to sb_bread hangs and I get a stack trace
along with a message saying that there is a soft lockup.
I use sb_read to read the Inode block.


Following is the stack trace:

Sep  2 09:04:48 localhost kernel: BUG: soft lockup detected on CPU#0!
Sep  2 09:04:48 localhost kernel:  [<c0405e4e>] show_trace_log_lvl+0x1a/0x2f
Sep  2 09:04:48 localhost kernel:  [<c0406450>] show_trace+0x12/0x14
Sep  2 09:04:48 localhost kernel:  [<c04064d4>] dump_stack+0x16/0x18
Sep  2 09:04:48 localhost kernel:  [<c04563b5>] softlockup_tick+0xa8/0xba
Sep  2 09:04:48 localhost kernel:  [<c042f992>] run_local_timers+0x12/0x14
Sep  2 09:04:48 localhost kernel:  [<c042fd4b>] update_process_times+0x3e/0x63
Sep  2 09:04:48 localhost kernel:  [<c043f550>] tick_sched_timer+0x5d/0xa1
Sep  2 09:04:48 localhost kernel:  [<c043bc73>] hrtimer_interrupt+0x128/0x1b5
Sep  2 09:04:48 localhost kernel:  [<c0419db7>] smp_apic_timer_interrupt+0x72/0x84
Sep  2 09:04:48 localhost kernel:  [<c0405910>] apic_timer_interrupt+0x28/0x30
Sep  2 09:04:48 localhost kernel:  [<c045aa11>] find_lock_page+0x7f/0x87
Sep  2 09:04:48 localhost kernel:  [<c045b379>] find_or_create_page+0x1e/0x89
Sep  2 09:04:48 localhost kernel:  [<c0493ec6>] __getblk+0x178/0x28b
Sep  2 09:04:48 localhost kernel:  [<c049532a>] __bread+0x12/0xa7
Sep  2 09:04:48 localhost kernel:  [<e0bf3373>] extdfs_read_inode+0xb7/0x15c [extd]
Sep  2 09:04:48 localhost kernel:  [<e0bf3641>] extd_fill_super+0x191/0x22d [extd]
Sep  2 09:04:48 localhost kernel:  [<c0479b22>] get_sb_bdev+0xeb/0x136
Sep  2 09:04:48 localhost kernel:  [<e0bf302d>] extd_get_sb+0x21/0x27 [extd]
Sep  2 09:04:48 localhost kernel:  [<c04796da>] vfs_kern_mount+0x81/0xf1
Sep  2 09:04:48 localhost kernel:  [<c0479792>] do_kern_mount+0x30/0x42
Sep  2 09:04:48 localhost kernel:  [<c048bc04>] do_mount+0x601/0x678
Sep  2 09:04:48 localhost kernel:  [<c048bcea>] sys_mount+0x6f/0xa4
Sep  2 09:04:48 localhost kernel:  [<c0404eb8>] syscall_call+0x7/0xb

Please help me fiond ways to avoid soft lockups.

Or whatever you think is not the problem with my code.

Dheeraj


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux