|
@@ -288,13 +288,16 @@ int bdi_has_dirty_io(struct backing_dev_info *bdi)
|
|
|
* Note, we wouldn't bother setting up the timer, but this function is on the
|
|
* Note, we wouldn't bother setting up the timer, but this function is on the
|
|
|
* fast-path (used by '__mark_inode_dirty()'), so we save few context switches
|
|
* fast-path (used by '__mark_inode_dirty()'), so we save few context switches
|
|
|
* by delaying the wake-up.
|
|
* by delaying the wake-up.
|
|
|
|
|
+ *
|
|
|
|
|
+ * We have to be careful not to postpone flush work if it is scheduled for
|
|
|
|
|
+ * earlier. Thus we use queue_delayed_work().
|
|
|
*/
|
|
*/
|
|
|
void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi)
|
|
void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi)
|
|
|
{
|
|
{
|
|
|
unsigned long timeout;
|
|
unsigned long timeout;
|
|
|
|
|
|
|
|
timeout = msecs_to_jiffies(dirty_writeback_interval * 10);
|
|
timeout = msecs_to_jiffies(dirty_writeback_interval * 10);
|
|
|
- mod_delayed_work(bdi_wq, &bdi->wb.dwork, timeout);
|
|
|
|
|
|
|
+ queue_delayed_work(bdi_wq, &bdi->wb.dwork, timeout);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
/*
|