aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-writecache.c
diff options
context:
space:
mode:
authorHuaisheng Ye <yehs1@lenovo.com>2019-04-12 11:28:14 -0400
committerMike Snitzer <snitzer@redhat.com>2019-04-18 16:18:31 -0400
commit84420b1e5d7254e58f551e32244d13c8e124bdcc (patch)
tree368a6ef436beb08a6628f293ceb58acaebcd88de /drivers/md/dm-writecache.c
parentdm writecache: remove needless dereferences in __writecache_writeback_pmem() (diff)
downloadlinux-dev-84420b1e5d7254e58f551e32244d13c8e124bdcc.tar.xz
linux-dev-84420b1e5d7254e58f551e32244d13c8e124bdcc.zip
dm writecache: add unlikely for returned value of rb_next/prev
In functions writecache_discard() and writecache_find_entry() there is a high probablity that the pointer of structure rb_node won't equal NULL. Add unlikely for the pointer node NULL. Signed-off-by: Huaisheng Ye <yehs1@lenovo.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-writecache.c')
-rw-r--r--drivers/md/dm-writecache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 5b4d1c11eff1..cfbbfbc028f9 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -571,7 +571,7 @@ static struct wc_entry *writecache_find_entry(struct dm_writecache *wc,
node = rb_prev(&e->rb_node);
else
node = rb_next(&e->rb_node);
- if (!node)
+ if (unlikely(!node))
return e;
e2 = container_of(node, struct wc_entry, rb_node);
if (read_original_sector(wc, e2) != block)
@@ -804,7 +804,7 @@ static void writecache_discard(struct dm_writecache *wc, sector_t start, sector_
writecache_free_entry(wc, e);
}
- if (!node)
+ if (unlikely(!node))
break;
e = container_of(node, struct wc_entry, rb_node);