diff options
Diffstat (limited to 'include/linux/backing-dev.h')
| -rw-r--r-- | include/linux/backing-dev.h | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 96f4094b706d..3b2f9cb82986 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -16,7 +16,7 @@  #include <linux/sched.h>  #include <linux/timer.h>  #include <linux/writeback.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  struct page;  struct device; @@ -40,6 +40,7 @@ typedef int (congested_fn)(void *, int);  enum bdi_stat_item {  	BDI_RECLAIMABLE,  	BDI_WRITEBACK, +	BDI_WRITTEN,  	NR_BDI_STAT_ITEMS  }; @@ -57,6 +58,7 @@ struct bdi_writeback {  	struct list_head b_dirty;	/* dirty inodes */  	struct list_head b_io;		/* parked for writeback */  	struct list_head b_more_io;	/* parked for more writeback */ +	spinlock_t list_lock;		/* protects the b_* lists */  };  struct backing_dev_info { @@ -71,6 +73,11 @@ struct backing_dev_info {  	struct percpu_counter bdi_stat[NR_BDI_STAT_ITEMS]; +	unsigned long bw_time_stamp;	/* last time write bw is updated */ +	unsigned long written_stamp;	/* pages written at bw_time_stamp */ +	unsigned long write_bandwidth;	/* the estimated write bandwidth */ +	unsigned long avg_write_bandwidth; /* further smoothed write bw */ +  	struct prop_local_percpu completions;  	int dirty_exceeded; @@ -106,6 +113,7 @@ int bdi_writeback_thread(void *data);  int bdi_has_dirty_io(struct backing_dev_info *bdi);  void bdi_arm_supers_timer(void);  void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi); +void bdi_lock_two(struct bdi_writeback *wb1, struct bdi_writeback *wb2);  extern spinlock_t bdi_lock;  extern struct list_head bdi_list;  |