aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/writeback.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2017-09-30 02:09:06 -0600
committerJens Axboe <axboe@kernel.dk>2017-10-04 11:24:12 -0600
commit85009b4f5f0399669a44f07cb9a5622c0e71d419 (patch)
tree9aa95947a827cf53f7d48cf187b99fa4f03411d2 /include/linux/writeback.h
parentblk-mq: document the need to have STARTED and COMPLETED share a byte (diff)
downloadlinux-dev-85009b4f5f0399669a44f07cb9a5622c0e71d419.tar.xz
linux-dev-85009b4f5f0399669a44f07cb9a5622c0e71d419.zip
writeback: eliminate work item allocation in bd_start_writeback()
Handle start-all writeback like we do periodic or kupdate style writeback - by marking the bdi_writeback as needing a full flush, and simply waking the thread. This eliminates the need to allocate and queue a specific work item just for this purpose. After this change, we truly only ever have one of them running at any point in time. We mark the need to start all flushes, and the writeback thread will clear it once it has processed the request. Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/writeback.h')
-rw-r--r--include/linux/writeback.h22
1 files changed, 0 insertions, 22 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 9c0091678af4..dd1d2c23f743 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -42,28 +42,6 @@ enum writeback_sync_modes {
};
/*
- * why some writeback work was initiated
- */
-enum wb_reason {
- WB_REASON_BACKGROUND,
- WB_REASON_VMSCAN,
- WB_REASON_SYNC,
- WB_REASON_PERIODIC,
- WB_REASON_LAPTOP_TIMER,
- WB_REASON_FREE_MORE_MEM,
- WB_REASON_FS_FREE_SPACE,
- /*
- * There is no bdi forker thread any more and works are done
- * by emergency worker, however, this is TPs userland visible
- * and we'll be exposing exactly the same information,
- * so it has a mismatch name.
- */
- WB_REASON_FORKER_THREAD,
-
- WB_REASON_MAX,
-};
-
-/*
* A control structure which tells the writeback code what to do. These are
* always on the stack, and hence need no locking. They are always initialised
* in a manner such that unspecified fields are set to zero.