Commit 80e8ebf2 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] loop: remove the balance_dirty_pages() call

The loop thread is getting permanently stuck in balance_dirty_pages()
(nr_writeback is exceeded) because the loop thread itself is responsible for
completing writeback on behalf of higher layers.

So we need to take that out: don't throttle the loop thread.  Throttle the
tasks which are generating all the dirty data instead.
parent cefe53f8
...@@ -236,7 +236,6 @@ do_lo_send(struct loop_device *lo, struct bio_vec *bvec, int bsize, loff_t pos) ...@@ -236,7 +236,6 @@ do_lo_send(struct loop_device *lo, struct bio_vec *bvec, int bsize, loff_t pos)
up(&mapping->host->i_sem); up(&mapping->host->i_sem);
out: out:
kunmap(bvec->bv_page); kunmap(bvec->bv_page);
balance_dirty_pages_ratelimited(mapping);
return ret; return ret;
unlock: unlock:
......
...@@ -220,7 +220,6 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping) ...@@ -220,7 +220,6 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping)
} }
put_cpu(); put_cpu();
} }
EXPORT_SYMBOL_GPL(balance_dirty_pages_ratelimited);
/* /*
* writeback at least _min_pages, and keep writing until the amount of dirty * writeback at least _min_pages, and keep writing until the amount of dirty
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment