mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
dm writecache: avoid unnecessary lookups in writecache_find_entry()
This is a small optimization in writecache_find_entry(). If we go past the condition "if (unlikely(!node))", we can be certain that there is no entry in the tree that has the block equal to the "block" variable. Consequently, we can return the next entry directly, we don't need to go to the second part of the function that finds the entry with lowest or highest seq number that matches the "block" variable. Also, add some whitespace and cleanup needless braces. Suggested-by: Huaisheng Ye <[email protected]> Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Mike Snitzer <[email protected]>
This commit is contained in:
parent
08a8e80462
commit
f8011d3344
1 changed files with 5 additions and 6 deletions
|
|
@ -545,21 +545,20 @@ static struct wc_entry *writecache_find_entry(struct dm_writecache *wc,
|
|||
e = container_of(node, struct wc_entry, rb_node);
|
||||
if (read_original_sector(wc, e) == block)
|
||||
break;
|
||||
|
||||
node = (read_original_sector(wc, e) >= block ?
|
||||
e->rb_node.rb_left : e->rb_node.rb_right);
|
||||
if (unlikely(!node)) {
|
||||
if (!(flags & WFE_RETURN_FOLLOWING)) {
|
||||
if (!(flags & WFE_RETURN_FOLLOWING))
|
||||
return NULL;
|
||||
}
|
||||
if (read_original_sector(wc, e) >= block) {
|
||||
break;
|
||||
return e;
|
||||
} else {
|
||||
node = rb_next(&e->rb_node);
|
||||
if (unlikely(!node)) {
|
||||
if (unlikely(!node))
|
||||
return NULL;
|
||||
}
|
||||
e = container_of(node, struct wc_entry, rb_node);
|
||||
break;
|
||||
return e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue