diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-07-25 07:29:18 -0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2010-08-07 12:53:56 -0400 |
commit | ecd584030da67ede1bf17955746a6ce834d9fc6b (patch) | |
tree | 3f26260102a84e8cb047249e65cdde6b9aadcb96 /fs/fs-writeback.c | |
parent | 78c40cb6581a74adc48821f3de6b864a54d4c34d (diff) |
writeback: move last_active to bdi
Currently bdi threads use local variable 'last_active' which stores last time
when the bdi thread did some useful work. Move this local variable to 'struct
bdi_writeback'. This is just a preparation for the further patches which will
make the forker thread decide when bdi threads should be killed.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'fs/fs-writeback.c')
-rw-r--r-- | fs/fs-writeback.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 57fbfd0ebc52..9f5cab75c157 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -800,12 +800,12 @@ int bdi_writeback_thread(void *data) | |||
800 | { | 800 | { |
801 | struct bdi_writeback *wb = data; | 801 | struct bdi_writeback *wb = data; |
802 | struct backing_dev_info *bdi = wb->bdi; | 802 | struct backing_dev_info *bdi = wb->bdi; |
803 | unsigned long last_active = jiffies; | ||
804 | unsigned long wait_jiffies = -1UL; | 803 | unsigned long wait_jiffies = -1UL; |
805 | long pages_written; | 804 | long pages_written; |
806 | 805 | ||
807 | current->flags |= PF_FLUSHER | PF_SWAPWRITE; | 806 | current->flags |= PF_FLUSHER | PF_SWAPWRITE; |
808 | set_freezable(); | 807 | set_freezable(); |
808 | wb->last_active = jiffies; | ||
809 | 809 | ||
810 | /* | 810 | /* |
811 | * Our parent may run at a different priority, just set us to normal | 811 | * Our parent may run at a different priority, just set us to normal |
@@ -827,7 +827,7 @@ int bdi_writeback_thread(void *data) | |||
827 | trace_writeback_pages_written(pages_written); | 827 | trace_writeback_pages_written(pages_written); |
828 | 828 | ||
829 | if (pages_written) | 829 | if (pages_written) |
830 | last_active = jiffies; | 830 | wb->last_active = jiffies; |
831 | else if (wait_jiffies != -1UL) { | 831 | else if (wait_jiffies != -1UL) { |
832 | unsigned long max_idle; | 832 | unsigned long max_idle; |
833 | 833 | ||
@@ -837,7 +837,7 @@ int bdi_writeback_thread(void *data) | |||
837 | * recreated automatically. | 837 | * recreated automatically. |
838 | */ | 838 | */ |
839 | max_idle = max(5UL * 60 * HZ, wait_jiffies); | 839 | max_idle = max(5UL * 60 * HZ, wait_jiffies); |
840 | if (time_after(jiffies, max_idle + last_active)) | 840 | if (time_after(jiffies, max_idle + wb->last_active)) |
841 | break; | 841 | break; |
842 | } | 842 | } |
843 | 843 | ||