On Mon, Dec 12, 2011 at 09:34:11AM -0800, Roland Dreier wrote: > On Mon, Dec 12, 2011 at 6:09 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > [ ?968.116635] ?[<ffffffff8175465c>] transport_processing_thread+0x13c/0x4a0 > > If you look at transport_processing_thread(), you'll notice that the > only time it > goes to sleep in wait_event is if dev->dev_queue_obj.queue_cnt is 0. > > So as long as there is work being queued up, the thread will continue to run, > even for the 22s you saw in your soft lockup report. Indeed, you mentioned it before, but the raw_spin_unlock in the thread confused me. Adding a cond_resched indeed fixed it. But without the cond_resched the VM is indeed hung. It's a single processor one, and thus doesn't manage to get anything else done until we yield. -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html