|
@@ -1069,7 +1069,7 @@ static void bdi_update_bandwidth(struct backing_dev_info *bdi,
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- * After a task dirtied this many pages, balance_dirty_pages_ratelimited_nr()
|
|
|
+ * After a task dirtied this many pages, balance_dirty_pages_ratelimited()
|
|
|
* will look to see if it needs to start dirty throttling.
|
|
|
*
|
|
|
* If dirty_poll_interval is too low, big NUMA machines will call the expensive
|
|
@@ -1436,9 +1436,8 @@ static DEFINE_PER_CPU(int, bdp_ratelimits);
|
|
|
DEFINE_PER_CPU(int, dirty_throttle_leaks) = 0;
|
|
|
|
|
|
/**
|
|
|
- * balance_dirty_pages_ratelimited_nr - balance dirty memory state
|
|
|
+ * balance_dirty_pages_ratelimited - balance dirty memory state
|
|
|
* @mapping: address_space which was dirtied
|
|
|
- * @nr_pages_dirtied: number of pages which the caller has just dirtied
|
|
|
*
|
|
|
* Processes which are dirtying memory should call in here once for each page
|
|
|
* which was newly dirtied. The function will periodically check the system's
|
|
@@ -1449,8 +1448,7 @@ DEFINE_PER_CPU(int, dirty_throttle_leaks) = 0;
|
|
|
* limit we decrease the ratelimiting by a lot, to prevent individual processes
|
|
|
* from overshooting the limit by (ratelimit_pages) each.
|
|
|
*/
|
|
|
-void balance_dirty_pages_ratelimited_nr(struct address_space *mapping,
|
|
|
- unsigned long nr_pages_dirtied)
|
|
|
+void balance_dirty_pages_ratelimited(struct address_space *mapping)
|
|
|
{
|
|
|
struct backing_dev_info *bdi = mapping->backing_dev_info;
|
|
|
int ratelimit;
|
|
@@ -1484,6 +1482,7 @@ void balance_dirty_pages_ratelimited_nr(struct address_space *mapping,
|
|
|
*/
|
|
|
p = &__get_cpu_var(dirty_throttle_leaks);
|
|
|
if (*p > 0 && current->nr_dirtied < ratelimit) {
|
|
|
+ unsigned long nr_pages_dirtied;
|
|
|
nr_pages_dirtied = min(*p, ratelimit - current->nr_dirtied);
|
|
|
*p -= nr_pages_dirtied;
|
|
|
current->nr_dirtied += nr_pages_dirtied;
|
|
@@ -1493,7 +1492,7 @@ void balance_dirty_pages_ratelimited_nr(struct address_space *mapping,
|
|
|
if (unlikely(current->nr_dirtied >= ratelimit))
|
|
|
balance_dirty_pages(mapping, current->nr_dirtied);
|
|
|
}
|
|
|
-EXPORT_SYMBOL(balance_dirty_pages_ratelimited_nr);
|
|
|
+EXPORT_SYMBOL(balance_dirty_pages_ratelimited);
|
|
|
|
|
|
void throttle_vm_writeout(gfp_t gfp_mask)
|
|
|
{
|