![]() | |||||||||||||
Messages in this thread |
Andrea Arcangeli wrote: > On Wed, Jan 05, 2005 at 08:47:06PM -0800, Andrew Morton wrote: > >>That's my point. blk_congestion_wait() will always sleep, regardless of > > > Since I've no pending bugs at all with the mainline codebase I rate this > just a theoretical issue: but even sleeping for a fixed amount of time > is unreliable there, for example if the storage is very slow. That's why > using io_schedule_timeout for that isn't going to be a fix. > > The fix is very simple and it is to call wait_on_page_writeback on one > of the pages under writeback. That guarantees some _writeback_ progress > has been made before retrying. That way some random direct-io or a too > short timeout, can't cause malfunction. > Yeah I guess that isn't a bad idea. Doesn't that have the theoretical problem of slowing down reclaim of dirty pages backed by fast devices when you have slow devices writing? But presumably you'd usually have pdflush working away anyway. - 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/ | ||||||||||||
| Last update: 2005-03-22 14:09 [from the cache] ©2003-2008 | |||||||||||||