aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/backing-dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/backing-dev.h')
-rw-r--r--include/linux/backing-dev.h23
1 files changed, 4 insertions, 19 deletions
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 12731a19ef0..3b2f9cb8298 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -10,14 +10,13 @@
10 10
11#include <linux/percpu_counter.h> 11#include <linux/percpu_counter.h>
12#include <linux/log2.h> 12#include <linux/log2.h>
13#include <linux/flex_proportions.h> 13#include <linux/proportions.h>
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/fs.h> 15#include <linux/fs.h>
16#include <linux/sched.h> 16#include <linux/sched.h>
17#include <linux/timer.h> 17#include <linux/timer.h>
18#include <linux/writeback.h> 18#include <linux/writeback.h>
19#include <linux/atomic.h> 19#include <linux/atomic.h>
20#include <linux/sysctl.h>
21 20
22struct page; 21struct page;
23struct device; 22struct device;
@@ -41,7 +40,6 @@ typedef int (congested_fn)(void *, int);
41enum bdi_stat_item { 40enum bdi_stat_item {
42 BDI_RECLAIMABLE, 41 BDI_RECLAIMABLE,
43 BDI_WRITEBACK, 42 BDI_WRITEBACK,
44 BDI_DIRTIED,
45 BDI_WRITTEN, 43 BDI_WRITTEN,
46 NR_BDI_STAT_ITEMS 44 NR_BDI_STAT_ITEMS
47}; 45};
@@ -76,21 +74,11 @@ struct backing_dev_info {
76 struct percpu_counter bdi_stat[NR_BDI_STAT_ITEMS]; 74 struct percpu_counter bdi_stat[NR_BDI_STAT_ITEMS];
77 75
78 unsigned long bw_time_stamp; /* last time write bw is updated */ 76 unsigned long bw_time_stamp; /* last time write bw is updated */
79 unsigned long dirtied_stamp;
80 unsigned long written_stamp; /* pages written at bw_time_stamp */ 77 unsigned long written_stamp; /* pages written at bw_time_stamp */
81 unsigned long write_bandwidth; /* the estimated write bandwidth */ 78 unsigned long write_bandwidth; /* the estimated write bandwidth */
82 unsigned long avg_write_bandwidth; /* further smoothed write bw */ 79 unsigned long avg_write_bandwidth; /* further smoothed write bw */
83 80
84 /* 81 struct prop_local_percpu completions;
85 * The base dirty throttle rate, re-calculated on every 200ms.
86 * All the bdi tasks' dirty rate will be curbed under it.
87 * @dirty_ratelimit tracks the estimated @balanced_dirty_ratelimit
88 * in small steps and is much more smooth/stable than the latter.
89 */
90 unsigned long dirty_ratelimit;
91 unsigned long balanced_dirty_ratelimit;
92
93 struct fprop_local_percpu completions;
94 int dirty_exceeded; 82 int dirty_exceeded;
95 83
96 unsigned int min_ratio; 84 unsigned int min_ratio;
@@ -114,17 +102,16 @@ struct backing_dev_info {
114int bdi_init(struct backing_dev_info *bdi); 102int bdi_init(struct backing_dev_info *bdi);
115void bdi_destroy(struct backing_dev_info *bdi); 103void bdi_destroy(struct backing_dev_info *bdi);
116 104
117__printf(3, 4)
118int bdi_register(struct backing_dev_info *bdi, struct device *parent, 105int bdi_register(struct backing_dev_info *bdi, struct device *parent,
119 const char *fmt, ...); 106 const char *fmt, ...);
120int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev); 107int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev);
121void bdi_unregister(struct backing_dev_info *bdi); 108void bdi_unregister(struct backing_dev_info *bdi);
122int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int); 109int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int);
123void bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages, 110void bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages);
124 enum wb_reason reason);
125void bdi_start_background_writeback(struct backing_dev_info *bdi); 111void bdi_start_background_writeback(struct backing_dev_info *bdi);
126int bdi_writeback_thread(void *data); 112int bdi_writeback_thread(void *data);
127int bdi_has_dirty_io(struct backing_dev_info *bdi); 113int bdi_has_dirty_io(struct backing_dev_info *bdi);
114void bdi_arm_supers_timer(void);
128void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi); 115void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi);
129void bdi_lock_two(struct bdi_writeback *wb1, struct bdi_writeback *wb2); 116void bdi_lock_two(struct bdi_writeback *wb1, struct bdi_writeback *wb2);
130 117
@@ -305,8 +292,6 @@ void clear_bdi_congested(struct backing_dev_info *bdi, int sync);
305void set_bdi_congested(struct backing_dev_info *bdi, int sync); 292void set_bdi_congested(struct backing_dev_info *bdi, int sync);
306long congestion_wait(int sync, long timeout); 293long congestion_wait(int sync, long timeout);
307long wait_iff_congested(struct zone *zone, int sync, long timeout); 294long wait_iff_congested(struct zone *zone, int sync, long timeout);
308int pdflush_proc_obsolete(struct ctl_table *table, int write,
309 void __user *buffer, size_t *lenp, loff_t *ppos);
310 295
311static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi) 296static inline bool bdi_cap_writeback_dirty(struct backing_dev_info *bdi)
312{ 297{