Searched hist:"2 a285686c109816ba71a00b9278262cf02648258" (Results 1 – 4 of 4) sorted by relevance
/openbmc/linux/drivers/md/bcache/ |
H A D | btree.h | diff 2a285686c109816ba71a00b9278262cf02648258 Tue Mar 04 18:42:42 CST 2014 Kent Overstreet <kmo@daterainc.com> bcache: btree locking rework
Add a new lock, b->write_lock, which is required to actually modify - or write - a btree node; this lock is only held for short durations.
This means we can write out a btree node without taking b->lock, which _is_ held for long durations - solving a deadlock when btree_flush_write() (from the journalling code) is called with a btree node locked.
Right now just occurs in bch_btree_set_root(), but with an upcoming journalling rework is going to happen a lot more.
This also turns b->lock is now more of a read/intent lock instead of a read/write lock - but not completely, since it still blocks readers. May turn it into a real intent lock at some point in the future.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
|
H A D | journal.c | diff 2a285686c109816ba71a00b9278262cf02648258 Tue Mar 04 18:42:42 CST 2014 Kent Overstreet <kmo@daterainc.com> bcache: btree locking rework
Add a new lock, b->write_lock, which is required to actually modify - or write - a btree node; this lock is only held for short durations.
This means we can write out a btree node without taking b->lock, which _is_ held for long durations - solving a deadlock when btree_flush_write() (from the journalling code) is called with a btree node locked.
Right now just occurs in bch_btree_set_root(), but with an upcoming journalling rework is going to happen a lot more.
This also turns b->lock is now more of a read/intent lock instead of a read/write lock - but not completely, since it still blocks readers. May turn it into a real intent lock at some point in the future.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
|
H A D | btree.c | diff 2a285686c109816ba71a00b9278262cf02648258 Tue Mar 04 18:42:42 CST 2014 Kent Overstreet <kmo@daterainc.com> bcache: btree locking rework
Add a new lock, b->write_lock, which is required to actually modify - or write - a btree node; this lock is only held for short durations.
This means we can write out a btree node without taking b->lock, which _is_ held for long durations - solving a deadlock when btree_flush_write() (from the journalling code) is called with a btree node locked.
Right now just occurs in bch_btree_set_root(), but with an upcoming journalling rework is going to happen a lot more.
This also turns b->lock is now more of a read/intent lock instead of a read/write lock - but not completely, since it still blocks readers. May turn it into a real intent lock at some point in the future.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
|
H A D | super.c | diff 2a285686c109816ba71a00b9278262cf02648258 Tue Mar 04 18:42:42 CST 2014 Kent Overstreet <kmo@daterainc.com> bcache: btree locking rework
Add a new lock, b->write_lock, which is required to actually modify - or write - a btree node; this lock is only held for short durations.
This means we can write out a btree node without taking b->lock, which _is_ held for long durations - solving a deadlock when btree_flush_write() (from the journalling code) is called with a btree node locked.
Right now just occurs in bch_btree_set_root(), but with an upcoming journalling rework is going to happen a lot more.
This also turns b->lock is now more of a read/intent lock instead of a read/write lock - but not completely, since it still blocks readers. May turn it into a real intent lock at some point in the future.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
|