lkml.org 
[lkml]   [2000]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: Loop driver UP deadlock? -- 2.3.99pre[23]
On Sun, Mar 26, 2000 at 01:21:09AM -0800, Daniel Schepler wrote:

> I recently tried to rebuild the Debian boot disks, and discovered that
> it consistently causes a hang at least with 2.3.99pre2 and later. I
> haven't tried it yet with earlier kernels.

Yeah, some other people have noticed this. I can reproduce it with a simple
test. I'm sure the blockdev and VFS gurus are aware of it, but they've been
strangely silent. I've had a quick look and am horribly confused. I tried
mapping out the bits of the call tree which looked relevant and got as far as
this ..

user app calls write(), etc.
sys_write
generic_file_write
__grab_cache_page
page_alloc
__alloc_pages
zone_balance_memory
try_to_free_pages
shrink_mmap
try_to_free_buffers
wakeup_bdflush(0 = don't block)
swap_out
block_prepare_write
create_empty_buffers
create_buffers(async)
run_task_queue(tq_disk)
wait_event(buffer_wait, ..)
ext2_get_block
ll_rw_block(loop dev owned bh)
wait_on_buffer(loop dev owned bh)
generic_commit_write
__block_commit_write
atomic_set_buffer_dirty
mark_dirty
balance_dirty
wakeup_bdflush(0 or 1)

.. and gave up :-) Maybe what I should really be doing is writing some
documentation as I go along which shows which functions are re-entrant and
which aren't.

--
If it's tourist season, why can't we shoot them?

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

\
 
 \ /
  Last update: 2005-03-22 13:57    [from the cache]
©2003-2011 Jasper Spaans