Message ID | 20240331021926.2732572-2-xiongwei.song@windriver.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | SLUB: improve filling cpu partial a bit in get_partial_node() | expand |
On 3/31/24 4:19 AM, xiongwei.song@windriver.com wrote: > From: Xiongwei Song <xiongwei.song@windriver.com> > > The check of !kmem_cache_has_cpu_partial(s) with > CONFIG_SLUB_CPU_PARTIAL enabled here is always false. We have known the > result by calling kmem_cacke_debug(). Here we can remove it. Could we be more obvious. We have already checked kmem_cache_debug() earlier and if it was true, the we either continued or broke from the loop so we can't reach this code in that case and don't need to check kmem_cache_debug() as part of kmem_cache_has_cpu_partial() again. > Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com> > --- > mm/slub.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/mm/slub.c b/mm/slub.c > index 1bb2a93cf7b6..059922044a4f 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -2610,8 +2610,7 @@ static struct slab *get_partial_node(struct kmem_cache *s, > partial_slabs++; > } > #ifdef CONFIG_SLUB_CPU_PARTIAL > - if (!kmem_cache_has_cpu_partial(s) > - || partial_slabs > s->cpu_partial_slabs / 2) > + if (partial_slabs > s->cpu_partial_slabs / 2) > break; > #else > break;
> > On 3/31/24 4:19 AM, xiongwei.song@windriver.com wrote: > > From: Xiongwei Song <xiongwei.song@windriver.com> > > > > The check of !kmem_cache_has_cpu_partial(s) with > > CONFIG_SLUB_CPU_PARTIAL enabled here is always false. We have known the > > result by calling kmem_cacke_debug(). Here we can remove it. > > Could we be more obvious. We have already checked kmem_cache_debug() earlier > and if it was true, the we either continued or broke from the loop so we > can't reach this code in that case and don't need to check > kmem_cache_debug() as part of kmem_cache_has_cpu_partial() again. Ok, looks better. Will update. Thanks, Xiongwei > > > Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com> > > --- > > mm/slub.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/mm/slub.c b/mm/slub.c > > index 1bb2a93cf7b6..059922044a4f 100644 > > --- a/mm/slub.c > > +++ b/mm/slub.c > > @@ -2610,8 +2610,7 @@ static struct slab *get_partial_node(struct kmem_cache *s, > > partial_slabs++; > > } > > #ifdef CONFIG_SLUB_CPU_PARTIAL > > - if (!kmem_cache_has_cpu_partial(s) > > - || partial_slabs > s->cpu_partial_slabs / 2) > > + if (partial_slabs > s->cpu_partial_slabs / 2) > > break; > > #else > > break;
diff --git a/mm/slub.c b/mm/slub.c index 1bb2a93cf7b6..059922044a4f 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2610,8 +2610,7 @@ static struct slab *get_partial_node(struct kmem_cache *s, partial_slabs++; } #ifdef CONFIG_SLUB_CPU_PARTIAL - if (!kmem_cache_has_cpu_partial(s) - || partial_slabs > s->cpu_partial_slabs / 2) + if (partial_slabs > s->cpu_partial_slabs / 2) break; #else break;