Ramdisk / sync deadlock

From: Daniel Moore (dxm@clouds.melbourne.sgi.com)
Date: Mon Aug 21 2000 - 23:45:09 EST


System: SGI 1400 SMP w/ sym53c8xx SCSI.
Kernel: 2.4.0-test5

I've been hitting a SMP deadlock caused by creating traffic
on a ramdisk at the same time as syncing. The backtraces show
the locks causing the deadlock. I don't know how to fix this
one myself, so here's the info in case it helps...

CPU A

    insert_into_queues <takes lru_list_lock>
    getblk
    rd_request
    generic_unplug_device <takes io_request_lock>
    __wait_on_buffer
    unmap_buffer
    block_flushpage
    truncate_inode_pages
    vmtruncate
    inode_setattr
    notify_change
    do_truncate
    open_namei
    filp_open
    sys_open
    system_call

CPU B

    sym53c8xx_intr <takes io_request_lock>
    handle_IRQ_event
    <scsi interrupt here>
    sync_buffers <takes lru_list_lock>
    fsync_dev
    sys_sync
    system_call

Regards,
-----------------------------------------------------
 Daniel Moore dxm@sgi.com
 R&D Software Engineer Phone: +61-3-98348209
 SGI Performance Tools Group Fax: +61-3-98132378
-----------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Aug 23 2000 - 21:00:06 EST