ext2: buffer_head usage with and without O_DIRECT
This is with respect to 2.4.28 on http://lxr.linux.no/source/?v=2.4.18 When i do read/write on ext2 without opening files with O_DIRECT, i can see buffer_head constantly increasing in /proc/slabinfo. But when I open files with O_DIRECT, the i/o is done without using buffer_head, /proc/slabinfo shows this as constant throughout the i/o. There is no other i/o activity on the box. Stacks below show that both of them creates buffer_head's. Any idea why this is happening ? As per the code, Without O_DIRECT, stack is: (See fs/buffer.c) submit_bh_rsector submit_bh block_read_full_page (This calls create_buffers to create buffer_head's) ext2_readpage do_generic_file_read generic_file_new_read generic_file_read With O_DIRECT: brw_kiovec (This creates buffer_head's) generic_direct_sector_IO (cals prepare_direct_IO_iobuf) ext2_direct_IO generic_file_direct_IO generic_file_new_read generic_file_read -Thanks. Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
ext2: buffer_head usage with and without O_DIRECT
This is with respect to 2.4.28 on http://lxr.linux.no/source/?v=2.4.18 When i do read/write on ext2 without opening files with O_DIRECT, i can see buffer_head constantly increasing in /proc/slabinfo. But when I open files with O_DIRECT, the i/o is done without using buffer_head, /proc/slabinfo shows this as constant throughout the i/o. There is no other i/o activity on the box. Stacks below show that both of them creates buffer_head's. Any idea why this is happening ? As per the code, Without O_DIRECT, stack is: (See fs/buffer.c) submit_bh_rsector submit_bh block_read_full_page (This calls create_buffers to create buffer_head's) ext2_readpage do_generic_file_read generic_file_new_read generic_file_read With O_DIRECT: brw_kiovec (This creates buffer_head's) generic_direct_sector_IO (cals prepare_direct_IO_iobuf) ext2_direct_IO generic_file_direct_IO generic_file_new_read generic_file_read -Thanks. Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/