Skip to contentSkip to conversation

inode->i_dirty_buffers redundant ?

DISCUSSION V Ganesh 1 participant 1 message Jan 26, 2001

lore
Share & tools
lore

V Ganesh

author
#0 lore raw

Stephen C. Tweedie <[email protected]> wrote:

: That would only complicate things: it would mean we'd have to scan : both lists on fsync instead of just the one, for example. There are a

we already do; filemap_fdatasync() is called first in sys_fsync(), though it usually doesn't have much work I guess.

: number of places where we need buffer lists for dirty data anyway, : such as for bdflush's background sync to disk. We also maintain the : per-page buffer lists as caches of the virtual-to-physical mapping to : avoid redundant bmap()ping. So, removing the buffer_heads which alias : the page cache data isn't an option. Given that, it's as well to keep : all the inode's dirty buffers in the one place.

keeping dirty pages in the address space list doesn't preclude any of the above. the pages could still have buffer_heads attached to them, and these would cache the block location and be a part of the dirty buffer list used by bdflush.
I guess both approaches would be roughly the same from a performance point of view. I feel that keeping all data pages in the address space is more elegant from a design point of view, but that's quite subjective, of course.

ganesh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/