diff options
author | John W. Linville <linville@tuxdriver.com> | 2006-09-11 14:08:41 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-09-11 14:08:41 -0400 |
commit | 623b3e1d645e42030897d18d37db10133d763006 (patch) | |
tree | 090ff481cd72b47ff87d50615461712a33ba41e6 /mm/mempool.c | |
parent | c576af479162c0a11d4e2691ebc97354958d9285 (diff) | |
parent | 38f5745c5a90641079fd5b48600ae63f7ab6edcd (diff) |
Merge branch 'from-linus' into upstream
Diffstat (limited to 'mm/mempool.c')
-rw-r--r-- | mm/mempool.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mm/mempool.c b/mm/mempool.c index fe6e05289cc..ccd8cb8cd41 100644 --- a/mm/mempool.c +++ b/mm/mempool.c @@ -238,8 +238,13 @@ repeat_alloc: init_wait(&wait); prepare_to_wait(&pool->wait, &wait, TASK_UNINTERRUPTIBLE); smp_mb(); - if (!pool->curr_nr) - io_schedule(); + if (!pool->curr_nr) { + /* + * FIXME: this should be io_schedule(). The timeout is there + * as a workaround for some DM problems in 2.6.18. + */ + io_schedule_timeout(5*HZ); + } finish_wait(&pool->wait, &wait); goto repeat_alloc; |