提交 26f5d760 编写于 作者: J Jeff Layton 提交者: Linus Torvalds

list_lru: don't call list_lru_from_kmem if the list_head is empty

If the list_head is empty then we'll have called list_lru_from_kmem for
nothing.  Move that call inside of the list_empty if block.
Signed-off-by: NJeff Layton <jeff.layton@primarydata.com>
Reviewed-by: NVladimir Davydov <vdavydov@parallels.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 21cd3a60
...@@ -99,8 +99,8 @@ bool list_lru_add(struct list_lru *lru, struct list_head *item) ...@@ -99,8 +99,8 @@ bool list_lru_add(struct list_lru *lru, struct list_head *item)
struct list_lru_one *l; struct list_lru_one *l;
spin_lock(&nlru->lock); spin_lock(&nlru->lock);
l = list_lru_from_kmem(nlru, item);
if (list_empty(item)) { if (list_empty(item)) {
l = list_lru_from_kmem(nlru, item);
list_add_tail(item, &l->list); list_add_tail(item, &l->list);
l->nr_items++; l->nr_items++;
spin_unlock(&nlru->lock); spin_unlock(&nlru->lock);
...@@ -118,8 +118,8 @@ bool list_lru_del(struct list_lru *lru, struct list_head *item) ...@@ -118,8 +118,8 @@ bool list_lru_del(struct list_lru *lru, struct list_head *item)
struct list_lru_one *l; struct list_lru_one *l;
spin_lock(&nlru->lock); spin_lock(&nlru->lock);
l = list_lru_from_kmem(nlru, item);
if (!list_empty(item)) { if (!list_empty(item)) {
l = list_lru_from_kmem(nlru, item);
list_del_init(item); list_del_init(item);
l->nr_items--; l->nr_items--;
spin_unlock(&nlru->lock); spin_unlock(&nlru->lock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册