lkml.org 
[lkml]   [2002]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] fix loop deadlock
2.5 is missing a chunk from 2.4

--- 2.5.7/fs/buffer.c~loop-deadlock Sat Mar 30 21:18:13 2002
+++ 2.5.7-akpm/fs/buffer.c Sat Mar 30 21:18:22 2002
@@ -992,7 +992,7 @@ static int balance_dirty_state(void)

/* First, check for the "real" dirty limit. */
if (dirty > soft_dirty_limit) {
- if (dirty > hard_dirty_limit)
+ if (dirty > hard_dirty_limit && !(current->flags & PF_NOIO))
return 1;
return 0;
}

From an efficiency POV loop is looking rather hilarious:

c013da84 kmem_cache_alloc 30 0.0355
c0239bc0 __make_request 41 0.0321
c02457e0 transfer_none 90 1.2500
c0148480 create_bounce 171 0.2007
c0138a00 generic_file_write 305 0.1540
c014d558 write_some_buffers 10028 28.4886
c0151db5 .text.lock.buffer 29229 47.2197
00000000 total 40308 0.0195
Probably we can fix this using the BH_Launder bit from
Andrea's kit.

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

\
 
 \ /
  Last update: 2005-03-22 13:25    [W:0.021 / U:2.696 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site