Messages in this thread | | | From | Nikita Danilov <> | Date | Fri, 18 Aug 2006 14:43:46 +0400 | Subject | Re: RFC - how to balance Dirty+Writeback in the face of slow writeback. |
| |
Andrew Morton writes:
[...]
> > The way this code all works is pretty crude and simple: a process comes > in to to some writeback and it enters a polling loop: > > while (we need to do writeback) { > for (each superblock) { > if (the superblock's backing_dev isn't congested) { > stuff some more IO down it() > } > } > take_a_nap(); > } > > so the process remains captured in that polling loop until the > dirty-memory-exceed condition subsides. The reason why we avoid
Hm... wbc->nr_to_write is checked all the way down (balance_dirty_pages(), writeback_inodes(), sync_sb_inodes(), mpage_writepages()), so "occasional writer" cannot be stuck for more than 32 + 16 pages, it seems.
Nikita.
- 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/
| |