Commit 492d76b2 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

writeback: remove {set,clear}_wb_congested



Just merge them into their only callers.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d5c69838
Loading
Loading
Loading
Loading
+2 −12
Original line number Original line Diff line number Diff line
@@ -232,18 +232,8 @@ enum {
	BLK_RW_SYNC	= 1,
	BLK_RW_SYNC	= 1,
};
};


void clear_wb_congested(struct bdi_writeback_congested *congested, int sync);
void clear_bdi_congested(struct backing_dev_info *bdi, int sync);
void set_wb_congested(struct bdi_writeback_congested *congested, int sync);
void set_bdi_congested(struct backing_dev_info *bdi, int sync);

static inline void clear_bdi_congested(struct backing_dev_info *bdi, int sync)
{
	clear_wb_congested(bdi->wb.congested, sync);
}

static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
{
	set_wb_congested(bdi->wb.congested, sync);
}


struct wb_lock_cookie {
struct wb_lock_cookie {
	bool locked;
	bool locked;
+6 −6
Original line number Original line Diff line number Diff line
@@ -1047,29 +1047,29 @@ static wait_queue_head_t congestion_wqh[2] = {
	};
	};
static atomic_t nr_wb_congested[2];
static atomic_t nr_wb_congested[2];


void clear_wb_congested(struct bdi_writeback_congested *congested, int sync)
void clear_bdi_congested(struct backing_dev_info *bdi, int sync)
{
{
	wait_queue_head_t *wqh = &congestion_wqh[sync];
	wait_queue_head_t *wqh = &congestion_wqh[sync];
	enum wb_congested_state bit;
	enum wb_congested_state bit;


	bit = sync ? WB_sync_congested : WB_async_congested;
	bit = sync ? WB_sync_congested : WB_async_congested;
	if (test_and_clear_bit(bit, &congested->state))
	if (test_and_clear_bit(bit, &bdi->wb.congested->state))
		atomic_dec(&nr_wb_congested[sync]);
		atomic_dec(&nr_wb_congested[sync]);
	smp_mb__after_atomic();
	smp_mb__after_atomic();
	if (waitqueue_active(wqh))
	if (waitqueue_active(wqh))
		wake_up(wqh);
		wake_up(wqh);
}
}
EXPORT_SYMBOL(clear_wb_congested);
EXPORT_SYMBOL(clear_bdi_congested);


void set_wb_congested(struct bdi_writeback_congested *congested, int sync)
void set_bdi_congested(struct backing_dev_info *bdi, int sync)
{
{
	enum wb_congested_state bit;
	enum wb_congested_state bit;


	bit = sync ? WB_sync_congested : WB_async_congested;
	bit = sync ? WB_sync_congested : WB_async_congested;
	if (!test_and_set_bit(bit, &congested->state))
	if (!test_and_set_bit(bit, &bdi->wb.congested->state))
		atomic_inc(&nr_wb_congested[sync]);
		atomic_inc(&nr_wb_congested[sync]);
}
}
EXPORT_SYMBOL(set_wb_congested);
EXPORT_SYMBOL(set_bdi_congested);


/**
/**
 * congestion_wait - wait for a backing_dev to become uncongested
 * congestion_wait - wait for a backing_dev to become uncongested