git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
percpu: fix first chunk match in per_cpu_ptr_to_phys()
[pandora-kernel.git]
/
mm
/
backing-dev.c
diff --git
a/mm/backing-dev.c
b/mm/backing-dev.c
index
707d0dc
..
660a87a
100644
(file)
--- a/
mm/backing-dev.c
+++ b/
mm/backing-dev.c
@@
-48,7
+48,6
@@
static struct timer_list sync_supers_timer;
static int bdi_sync_supers(void *);
static void sync_supers_timer_fn(unsigned long);
static int bdi_sync_supers(void *);
static void sync_supers_timer_fn(unsigned long);
-static void arm_supers_timer(void);
static void bdi_add_default_flusher_task(struct backing_dev_info *bdi);
static void bdi_add_default_flusher_task(struct backing_dev_info *bdi);
@@
-252,7
+251,7
@@
static int __init default_bdi_init(void)
init_timer(&sync_supers_timer);
setup_timer(&sync_supers_timer, sync_supers_timer_fn, 0);
init_timer(&sync_supers_timer);
setup_timer(&sync_supers_timer, sync_supers_timer_fn, 0);
- arm_supers_timer();
+
bdi_
arm_supers_timer();
err = bdi_init(&default_backing_dev_info);
if (!err)
err = bdi_init(&default_backing_dev_info);
if (!err)
@@
-374,10
+373,13
@@
static int bdi_sync_supers(void *unused)
return 0;
}
return 0;
}
-
static void
arm_supers_timer(void)
+
void bdi_
arm_supers_timer(void)
{
unsigned long next;
{
unsigned long next;
+ if (!dirty_writeback_interval)
+ return;
+
next = msecs_to_jiffies(dirty_writeback_interval * 10) + jiffies;
mod_timer(&sync_supers_timer, round_jiffies_up(next));
}
next = msecs_to_jiffies(dirty_writeback_interval * 10) + jiffies;
mod_timer(&sync_supers_timer, round_jiffies_up(next));
}
@@
-385,7
+387,7
@@
static void arm_supers_timer(void)
static void sync_supers_timer_fn(unsigned long unused)
{
wake_up_process(sync_supers_tsk);
static void sync_supers_timer_fn(unsigned long unused)
{
wake_up_process(sync_supers_tsk);
- arm_supers_timer();
+
bdi_
arm_supers_timer();
}
static int bdi_forker_task(void *ptr)
}
static int bdi_forker_task(void *ptr)
@@
-428,7
+430,10
@@
static int bdi_forker_task(void *ptr)
spin_unlock_bh(&bdi_lock);
wait = msecs_to_jiffies(dirty_writeback_interval * 10);
spin_unlock_bh(&bdi_lock);
wait = msecs_to_jiffies(dirty_writeback_interval * 10);
- schedule_timeout(wait);
+ if (wait)
+ schedule_timeout(wait);
+ else
+ schedule();
try_to_freeze();
continue;
}
try_to_freeze();
continue;
}