Hi I have been changing the write of buffers in the IO layer, and I have found that the system gets a lot of contention in __wait_on_super(). I am using test3-pre1 + kdb patch. I see also the stalls/vmstat strange output without the kdb patch. I use it to be able to see the back-traces. You can also look at the vmstat output. I see that vmstat 1 output when running dbench 48, the results doesn't make sense that we are almost not doing IO in an IO test :(((( vmstat output: r b w swpd free buff cache si so bi bo in cs us sy id 0 48 2 5004 3112 1948 112652 0 0 0 151 221 238 2 1 96 0 48 2 5004 3108 1948 112652 0 0 0 133 195 188 0 0 99 0 48 2 5004 3108 1948 112652 0 0 0 141 192 184 0 0 99 ^^^^ when things are working properly, that field is between 1000-2000. Now the traces: Almost all the dbench processes are stuck with the first back-trace. Someone find some sense to that output and/or know how to fix that problem. Any comment are welcome. If you need more information, let me know. Later, Juan. Most common back-trace: 0xc721bdcc 0xc0116fbd schedule+0x389 (0xc6e3bb60, 0x98e01, 0xc721bea0, 0x1234567 , 0xc721a000) kernel .text 0xc0100000 0xc0116c34 0xc01173c0 0xc01363ac __wait_on_super+0x184 (0xc13f4c00) kernel .text 0xc0100000 0xc0136228 0xc0136420 0xc01523f5 ext2_alloc_block+0x21 (0xc6e3bb60, 0x98e01, 0xc721bea0) kernel .text 0xc0100000 0xc01523d4 0xc015246c 0xc721be5c 0xc01528a2 block_getblk+0x15e (0xc6e3bb60, 0xc2f75c20, 0x8d, 0x99, 0x c721bea0) kernel .text 0xc0100000 0xc0152744 0xc0152a78 0xc721beac 0xc0152ee0 ext2_get_block+0x468 (0xc6e3bb60, 0x99, 0xc221e440, 0x1) kernel .text 0xc0100000 0xc0152a78 0xc0152fd0 0xc721bef4 0xc0133af3 __block_prepare_write+0xe7 (0xc6e3bb60, 0xc11c1ee8, 0x0, 0 x1000, 0xc0152a78) kernel .text 0xc0100000 0xc0133a0c 0xc0133c00 0xc721bf18 0xc0134131 block_prepare_write+0x21 (0xc11c1ee8, 0x0, 0x1000, 0xc0152 a78) kernel .text 0xc0100000 0xc0134110 0xc013414c 0xc721bf30 0xc01531e1 ext2_prepare_write+0x19 (0xc719b5e0, 0xc11c1ee8, 0x0, 0x10 00) kernel .text 0xc0100000 0xc01531c8 0xc01531e8 0xc721bf90 0xc0127b8d generic_file_write+0x305 (0xc719b5e0, 0x8054469, 0x6fba, 0 xc719b600) kernel .text 0xc0100000 0xc0127888 0xc0127cf0 0xc721bfbc 0xc0130ea8 sys_write+0xe8 (0x9, 0x804b460, 0xffc3, 0x28, 0x1092) kernel .text 0xc0100000 0xc0130dc0 0xc0130ed0 0xc0109874 system_call+0x34 kernel .text 0xc0100000 0xc0109840 0xc0109878 or in: 0xc320de58 0xc0116fbd schedule+0x389 (0xc4c130c0, 0xc13f4c00, 0xc4c138e0, 0x1234 567, 0xc320c000) kernel .text 0xc0100000 0xc0116c34 0xc01173c0 0xc01363ac __wait_on_super+0x184 (0xc13f4c00) kernel .text 0xc0100000 0xc0136228 0xc0136420 0xc0151ce9 ext2_new_inode+0x6d (0xc4c130c0, 0x8180, 0xc320df00) kernel .text 0xc0100000 0xc0151c7c 0xc01521dc 0xc320df04 0xc0154555 ext2_create+0x1d (0xc4c130c0, 0xc5c17b60, 0x8180) kernel .text 0xc0100000 0xc0154538 0xc01545f4 0xc320df28 0xc013df64 vfs_create+0xdc (0xc4c130c0, 0xc5c17b60, 0x180) kernel .text 0xc0100000 0xc013de88 0xc013dfcc 0xc320df58 0xc013e198 open_namei+0x1cc (0xc4c12000, 0x243, 0x180, 0xc320df7c) kernel .text 0xc0100000 0xc013dfcc 0xc013e6cc 0xc320df98 0xc0130376 filp_open+0x3a (0xc4c12000, 0x242, 0x180) kernel .text 0xc0100000 0xc013033c 0xc0130398 0xc320dfbc 0xc01306dc sys_open+0x68 (0xbffffc4c, 0x242, 0x180, 0x242, 0xbffffc4c ) kernel .text 0xc0100000 0xc0130674 0xc01307dc 0xc0109874 system_call+0x34 kernel .text 0xc0100000 0xc0109840 0xc0109878 or in: 0xc5a19e50 0xc0116fbd schedule+0x389 (0xc5b58a00, 0x1000, 0xfffffff4, 0xc5a18000 , 0x1234567) kernel .text 0xc0100000 0xc0116c34 0xc01173c0 0xc0131db8 __wait_on_buffer+0x1d8 (0xc5b58a00) kernel .text 0xc0100000 0xc0131be0 0xc0131e34 0xc0133773 unmap_buffer+0x33 (0xc5b58a00) kernel .text 0xc0100000 0xc0133740 0xc01337a0 0xc5a19eb8 0xc01338e1 unmap_underlying_metadata+0x29 (0xc536fc00) [1]more> kernel .text 0xc0100000 0xc01338b8 0xc01338f0 0xc5a19ef4 0xc0133b0f __block_prepare_write+0x103 (0xc62c25e0, 0xc110e680, 0x0, 0x1000, 0xc0152a78) kernel .text 0xc0100000 0xc0133a0c 0xc0133c00 0xc5a19f18 0xc0134131 block_prepare_write+0x21 (0xc110e680, 0x0, 0x1000, 0xc0152 a78) kernel .text 0xc0100000 0xc0134110 0xc013414c 0xc5a19f30 0xc01531e1 ext2_prepare_write+0x19 (0xc59fd8e0, 0xc110e680, 0x0, 0x10 00) kernel .text 0xc0100000 0xc01531c8 0xc01531e8 0xc5a19f90 0xc0127b8d generic_file_write+0x305 (0xc59fd8e0, 0x8050462, 0xafc1, 0 xc59fd900) kernel .text 0xc0100000 0xc0127888 0xc0127cf0 0xc5a19fbc 0xc0130ea8 sys_write+0xe8 (0x6, 0x804b460, 0xffc3, 0x10, 0x1061) kernel .text 0xc0100000 0xc0130dc0 0xc0130ed0 0xc0109874 system_call+0x34 kernel .text 0xc0100000 0xc0109840 0xc0109878 The super lock _appears_ to be held by a process with: 0xc2ca3e44 0xc0116fbd schedule+0x389 (0xc7d33500, 0xc13f4c00, 0x0, 0xc2ca2000, 0 x1234567) kernel .text 0xc0100000 0xc0116c34 0xc01173c0 0xc0131db8 __wait_on_buffer+0x1d8 (0xc221ec40) kernel .text 0xc0100000 0xc0131be0 0xc0131e34 0xc0132fb0 bread+0x44 (0x307, 0x140001, 0x1000) kernel .text 0xc0100000 0xc0132f6c 0xc0132fcc 0xc2ca3ec0 0xc01518e8 read_inode_bitmap+0x38 (0xc13f4c00, 0x28, 0x0) kernel .text 0xc0100000 0xc01518b0 0xc0151934 0xc2ca3eec 0xc0151b03 load_inode_bitmap+0x1cf (0xc13f4c00, 0x28) kernel .text 0xc0100000 0xc0151934 0xc0151b14 0xc2ca3f34 0xc0151e9a ext2_new_inode+0x21e (0xc552e140, 0x4000, 0xc2ca3f58) kernel .text 0xc0100000 0xc0151c7c 0xc01521dc 0xc2ca3f5c 0xc01546d4 ext2_mkdir+0x30 (0xc552e140, 0xc78cec40, 0x1c0) kernel .text 0xc0100000 0xc01546a4 0xc0154890 0xc2ca3f7c 0xc013ebd1 vfs_mkdir+0xc5 (0xc552e140, 0xc78cec40, 0x1c0) kernel .text 0xc0100000 0xc013eb0c 0xc013ec38 0xc2ca3fbc 0xc013eccf sys_mkdir+0x97 (0xbffff863, 0x1c0, 0xbffff863, 0xbffff855, 0x804a217) kernel .text 0xc0100000 0xc013ec38 0xc013edb8 0xc0109874 system_call+0x34 kernel .text 0xc0100000 0xc0109840 0xc0109878 There are other dbench processes waiting in __wait_on_buffer: 0xc4419e28 0xc0116fbd schedule+0x389 (0xc4419ec8, 0xc4192820, 0xc3c8c760, 0xc441 8000, 0x1234567) kernel .text 0xc0100000 0xc0116c34 0xc01173c0 0xc0131db8 __wait_on_buffer+0x1d8 (0xc3c8c760) kernel .text 0xc0100000 0xc0131be0 0xc0131e34 0xc0153ea3 ext2_find_entry+0x153 (0xc4192820, 0xc75e9140, 0xc, 0xc441 9f0c) kernel .text 0xc0100000 0xc0153d50 0xc0154038 0xc4419f10 0xc015406f ext2_lookup+0x37 (0xc4192820, 0xc75e90e0) kernel .text 0xc0100000 0xc0154038 0xc01540cc [1]more> 0xc4419f2c 0xc013dd31 lookup_hash+0x75 (0xc4419f84, 0xc7992b80) kernel .text 0xc0100000 0xc013dcbc 0xc013dd54 0xc4419f58 0xc013e110 open_namei+0x144 (0xc3ff2000, 0x243, 0x180, 0xc4419f7c) kernel .text 0xc0100000 0xc013dfcc 0xc013e6cc 0xc4419f98 0xc0130376 filp_open+0x3a (0xc3ff2000, 0x242, 0x180) kernel .text 0xc0100000 0xc013033c 0xc0130398 0xc4419fbc 0xc01306dc sys_open+0x68 (0xbffffc4c, 0x242, 0x180, 0x242, 0xbffffc4c ) kernel .text 0xc0100000 0xc0130674 0xc01307dc 0xc0109874 system_call+0x34 kernel .text 0xc0100000 0xc0109840 0xc0109878 -- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy