projects
/
platform
/
kernel
/
linux-rpi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ARM: configs: tizen_bcm2711_defconfig: Enable Crypto extension configs
[platform/kernel/linux-rpi.git]
/
mm
/
backing-dev.c
diff --git
a/mm/backing-dev.c
b/mm/backing-dev.c
index
4a9d4e2
..
142e118
100644
(file)
--- a/
mm/backing-dev.c
+++ b/
mm/backing-dev.c
@@
-229,20
+229,13
@@
static __init int bdi_class_init(void)
}
postcore_initcall(bdi_class_init);
}
postcore_initcall(bdi_class_init);
-static int bdi_init(struct backing_dev_info *bdi);
-
static int __init default_bdi_init(void)
{
static int __init default_bdi_init(void)
{
- int err;
-
bdi_wq = alloc_workqueue("writeback", WQ_MEM_RECLAIM | WQ_UNBOUND |
WQ_SYSFS, 0);
if (!bdi_wq)
return -ENOMEM;
bdi_wq = alloc_workqueue("writeback", WQ_MEM_RECLAIM | WQ_UNBOUND |
WQ_SYSFS, 0);
if (!bdi_wq)
return -ENOMEM;
-
- err = bdi_init(&noop_backing_dev_info);
-
- return err;
+ return 0;
}
subsys_initcall(default_bdi_init);
}
subsys_initcall(default_bdi_init);
@@
-265,10
+258,10
@@
void wb_wakeup_delayed(struct bdi_writeback *wb)
unsigned long timeout;
timeout = msecs_to_jiffies(dirty_writeback_interval * 10);
unsigned long timeout;
timeout = msecs_to_jiffies(dirty_writeback_interval * 10);
- spin_lock_
bh
(&wb->work_lock);
+ spin_lock_
irq
(&wb->work_lock);
if (test_bit(WB_registered, &wb->state))
queue_delayed_work(bdi_wq, &wb->dwork, timeout);
if (test_bit(WB_registered, &wb->state))
queue_delayed_work(bdi_wq, &wb->dwork, timeout);
- spin_unlock_
bh
(&wb->work_lock);
+ spin_unlock_
irq
(&wb->work_lock);
}
static void wb_update_bandwidth_workfn(struct work_struct *work)
}
static void wb_update_bandwidth_workfn(struct work_struct *work)
@@
-344,12
+337,12
@@
static void cgwb_remove_from_bdi_list(struct bdi_writeback *wb);
static void wb_shutdown(struct bdi_writeback *wb)
{
/* Make sure nobody queues further work */
static void wb_shutdown(struct bdi_writeback *wb)
{
/* Make sure nobody queues further work */
- spin_lock_
bh
(&wb->work_lock);
+ spin_lock_
irq
(&wb->work_lock);
if (!test_and_clear_bit(WB_registered, &wb->state)) {
if (!test_and_clear_bit(WB_registered, &wb->state)) {
- spin_unlock_
bh
(&wb->work_lock);
+ spin_unlock_
irq
(&wb->work_lock);
return;
}
return;
}
- spin_unlock_
bh
(&wb->work_lock);
+ spin_unlock_
irq
(&wb->work_lock);
cgwb_remove_from_bdi_list(wb);
/*
cgwb_remove_from_bdi_list(wb);
/*
@@
-784,7
+777,7
@@
static void cgwb_remove_from_bdi_list(struct bdi_writeback *wb)
#endif /* CONFIG_CGROUP_WRITEBACK */
#endif /* CONFIG_CGROUP_WRITEBACK */
-
static
int bdi_init(struct backing_dev_info *bdi)
+int bdi_init(struct backing_dev_info *bdi)
{
int ret;
{
int ret;
@@
-947,6
+940,13
@@
void bdi_unregister(struct backing_dev_info *bdi)
wb_shutdown(&bdi->wb);
cgwb_bdi_unregister(bdi);
wb_shutdown(&bdi->wb);
cgwb_bdi_unregister(bdi);
+ /*
+ * If this BDI's min ratio has been set, use bdi_set_min_ratio() to
+ * update the global bdi_min_ratio.
+ */
+ if (bdi->min_ratio)
+ bdi_set_min_ratio(bdi, 0);
+
if (bdi->dev) {
bdi_debug_unregister(bdi);
device_unregister(bdi->dev);
if (bdi->dev) {
bdi_debug_unregister(bdi);
device_unregister(bdi->dev);