Skip to content

Commit 12f7900

Browse files
Kemeng Shibrauner
authored andcommitted
writeback: move wb_wakeup_delayed defination to fs-writeback.c
The wb_wakeup_delayed is only used in fs-writeback.c. Move it to fs-writeback.c after defination of wb_wakeup and make it static. Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> Link: https://lore.kernel.org/r/20240118203339.764093-1-shikemeng@huaweicloud.com Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 73fa754 commit 12f7900

File tree

3 files changed

+25
-26
lines changed

3 files changed

+25
-26
lines changed

fs/fs-writeback.c

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,31 @@ static void wb_wakeup(struct bdi_writeback *wb)
141141
spin_unlock_irq(&wb->work_lock);
142142
}
143143

144+
/*
145+
* This function is used when the first inode for this wb is marked dirty. It
146+
* wakes-up the corresponding bdi thread which should then take care of the
147+
* periodic background write-out of dirty inodes. Since the write-out would
148+
* starts only 'dirty_writeback_interval' centisecs from now anyway, we just
149+
* set up a timer which wakes the bdi thread up later.
150+
*
151+
* Note, we wouldn't bother setting up the timer, but this function is on the
152+
* fast-path (used by '__mark_inode_dirty()'), so we save few context switches
153+
* by delaying the wake-up.
154+
*
155+
* We have to be careful not to postpone flush work if it is scheduled for
156+
* earlier. Thus we use queue_delayed_work().
157+
*/
158+
static void wb_wakeup_delayed(struct bdi_writeback *wb)
159+
{
160+
unsigned long timeout;
161+
162+
timeout = msecs_to_jiffies(dirty_writeback_interval * 10);
163+
spin_lock_irq(&wb->work_lock);
164+
if (test_bit(WB_registered, &wb->state))
165+
queue_delayed_work(bdi_wq, &wb->dwork, timeout);
166+
spin_unlock_irq(&wb->work_lock);
167+
}
168+
144169
static void finish_writeback_work(struct bdi_writeback *wb,
145170
struct wb_writeback_work *work)
146171
{

include/linux/backing-dev.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ struct backing_dev_info *bdi_alloc(int node_id);
3838

3939
void wb_start_background_writeback(struct bdi_writeback *wb);
4040
void wb_workfn(struct work_struct *work);
41-
void wb_wakeup_delayed(struct bdi_writeback *wb);
4241

4342
void wb_wait_for_completion(struct wb_completion *done);
4443

mm/backing-dev.c

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -372,31 +372,6 @@ static int __init default_bdi_init(void)
372372
}
373373
subsys_initcall(default_bdi_init);
374374

375-
/*
376-
* This function is used when the first inode for this wb is marked dirty. It
377-
* wakes-up the corresponding bdi thread which should then take care of the
378-
* periodic background write-out of dirty inodes. Since the write-out would
379-
* starts only 'dirty_writeback_interval' centisecs from now anyway, we just
380-
* set up a timer which wakes the bdi thread up later.
381-
*
382-
* Note, we wouldn't bother setting up the timer, but this function is on the
383-
* fast-path (used by '__mark_inode_dirty()'), so we save few context switches
384-
* by delaying the wake-up.
385-
*
386-
* We have to be careful not to postpone flush work if it is scheduled for
387-
* earlier. Thus we use queue_delayed_work().
388-
*/
389-
void wb_wakeup_delayed(struct bdi_writeback *wb)
390-
{
391-
unsigned long timeout;
392-
393-
timeout = msecs_to_jiffies(dirty_writeback_interval * 10);
394-
spin_lock_irq(&wb->work_lock);
395-
if (test_bit(WB_registered, &wb->state))
396-
queue_delayed_work(bdi_wq, &wb->dwork, timeout);
397-
spin_unlock_irq(&wb->work_lock);
398-
}
399-
400375
static void wb_update_bandwidth_workfn(struct work_struct *work)
401376
{
402377
struct bdi_writeback *wb = container_of(to_delayed_work(work),

0 commit comments

Comments
 (0)