mm/slab_common.c: use list_for_each_entry in dump_unreclaimable_slab()
dump_unreclaimable_slab() acquires the slab_mutex first, and it won't remove any slab_caches list entry when itering the slab_caches lists. Thus we do not need list_for_each_entry_safe here, which is against removal of list entry. Link: https://lkml.kernel.org/r/20200926043440.GA180545@rlk Signed-off-by: Hui Su <sh_def@163.com> Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a86ecfa6a8
commit
7714304f3b
|
@ -978,7 +978,7 @@ static int slab_show(struct seq_file *m, void *p)
|
|||
|
||||
void dump_unreclaimable_slab(void)
|
||||
{
|
||||
struct kmem_cache *s, *s2;
|
||||
struct kmem_cache *s;
|
||||
struct slabinfo sinfo;
|
||||
|
||||
/*
|
||||
|
@ -996,7 +996,7 @@ void dump_unreclaimable_slab(void)
|
|||
pr_info("Unreclaimable slab info:\n");
|
||||
pr_info("Name Used Total\n");
|
||||
|
||||
list_for_each_entry_safe(s, s2, &slab_caches, list) {
|
||||
list_for_each_entry(s, &slab_caches, list) {
|
||||
if (s->flags & SLAB_RECLAIM_ACCOUNT)
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue