On Tue, Jan 15, 2008 at 09:53:42AM -0800, Michael Rubin wrote:Yeah, they are independent ones. The initial motivation is to fix the bug "sluggish writeback on small+large files". Michael introduced a new rbtree, and me introduced a new list(s_more_io_wait). Basically I think rbtree is an overkill to do time based ordering. Sorry, Michael. But s_dirty would be enough for that. Plus, s_more_io provides fair queuing between small/large files, and s_more_io_wait provides waiting mechanism for blocked inodes. The time ordered rbtree may delay io for a blocked inode simply by modifying its dirtied_when and reinsert it. But it would no longer be that easy if it is to be ordered by location. If we are going to do location based ordering in the future, the lists will continue to be useful. It would simply be a matter of switching from the s_dirty(order by time) to some rbtree or radix tree(order by location). We can even provide both ordering at the same time to different fs/inodes which is configurable by the user. Because the s_dirty and/or rbtree would provide _only_ ordering(not faireness or waiting) and hence is interchangeable. This patchset could be a good reference. It does location based ordering with radix tree: [RFC][PATCH] clustered writeback <http://lkml.org/lkml/2007/8/27/45> Thank you, Fengguang --
| Greg Kroah-Hartman | [PATCH 011/196] sysfs: Fix a copy-n-paste typo in comment |
| Al Boldi | Re: [ck] Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu sched... |
| Andrew Morton | 2.6.25-rc8-mm2 |
| Ingo Molnar | Re: [patch] sched_clock(): cleanups |
| David Miller | [GIT]: Networking |
| John P Poet | Realtek 8111C transmit timed out |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Kenny Chang | Multicast packet loss |
git: | |
