Message ID | 20191212223442.22141-1-fw@strlen.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm: remove __krealloc | expand |
On Thu, 12 Dec 2019, Florian Westphal wrote: > Since 5.5-rc1 the last user of this function is gone, so remove the > functionality. > > See commit > 2ad9d7747c10 ("netfilter: conntrack: free extension area immediately") > for details. > > Signed-off-by: Florian Westphal <fw@strlen.de> So this also means that we can fold __do_krealloc() into krealloc()?
David Rientjes <rientjes@google.com> wrote: > On Thu, 12 Dec 2019, Florian Westphal wrote: > > > Since 5.5-rc1 the last user of this function is gone, so remove the > > functionality. > > > > See commit > > 2ad9d7747c10 ("netfilter: conntrack: free extension area immediately") > > for details. > > > > Signed-off-by: Florian Westphal <fw@strlen.de> > > So this also means that we can fold __do_krealloc() into krealloc()? I would leave that to compiler but if you prefer this I can respin.
On 12.12.19 23:34, Florian Westphal wrote: > Since 5.5-rc1 the last user of this function is gone, so remove the > functionality. > > See commit > 2ad9d7747c10 ("netfilter: conntrack: free extension area immediately") > for details. > > Signed-off-by: Florian Westphal <fw@strlen.de> > --- > include/linux/slab.h | 1 - > mm/slab_common.c | 22 ---------------------- > scripts/coccinelle/free/devm_free.cocci | 4 ---- > 3 files changed, 27 deletions(-) > > diff --git a/include/linux/slab.h b/include/linux/slab.h > index 877a95c6a2d2..03a389358562 100644 > --- a/include/linux/slab.h > +++ b/include/linux/slab.h > @@ -184,7 +184,6 @@ void memcg_deactivate_kmem_caches(struct mem_cgroup *, struct mem_cgroup *); > /* > * Common kmalloc functions provided by all allocators > */ > -void * __must_check __krealloc(const void *, size_t, gfp_t); > void * __must_check krealloc(const void *, size_t, gfp_t); > void kfree(const void *); > void kzfree(const void *); > diff --git a/mm/slab_common.c b/mm/slab_common.c > index f0ab6d4ceb4c..87e8923cf0b6 100644 > --- a/mm/slab_common.c > +++ b/mm/slab_common.c > @@ -1675,28 +1675,6 @@ static __always_inline void *__do_krealloc(const void *p, size_t new_size, > return ret; > } > > -/** > - * __krealloc - like krealloc() but don't free @p. > - * @p: object to reallocate memory for. > - * @new_size: how many bytes of memory are required. > - * @flags: the type of memory to allocate. > - * > - * This function is like krealloc() except it never frees the originally > - * allocated buffer. Use this if you don't want to free the buffer immediately > - * like, for example, with RCU. > - * > - * Return: pointer to the allocated memory or %NULL in case of error > - */ > -void *__krealloc(const void *p, size_t new_size, gfp_t flags) > -{ > - if (unlikely(!new_size)) > - return ZERO_SIZE_PTR; > - > - return __do_krealloc(p, new_size, flags); > - > -} > -EXPORT_SYMBOL(__krealloc); > - > /** > * krealloc - reallocate memory. The contents will remain unchanged. > * @p: object to reallocate memory for. > diff --git a/scripts/coccinelle/free/devm_free.cocci b/scripts/coccinelle/free/devm_free.cocci > index 441799b5359b..66aaf68889a5 100644 > --- a/scripts/coccinelle/free/devm_free.cocci > +++ b/scripts/coccinelle/free/devm_free.cocci > @@ -94,8 +94,6 @@ position p; > kfree@p(x) > | > kzfree@p(x) > -| > - __krealloc@p(x, ...) > | > krealloc@p(x, ...) > | > @@ -120,8 +118,6 @@ position p != safe.p; > | > * kzfree@p(x) > | > -* __krealloc@p(x, ...) > -| > * krealloc@p(x, ...) > | > * free_pages@p(x, ...) > IMHO, __do_krealloc() changes can go into a separate patch. Reviewed-by: David Hildenbrand <david@redhat.com>
On Fri, 13 Dec 2019, Florian Westphal wrote: > > > Since 5.5-rc1 the last user of this function is gone, so remove the > > > functionality. > > > > > > See commit > > > 2ad9d7747c10 ("netfilter: conntrack: free extension area immediately") > > > for details. > > > > > > Signed-off-by: Florian Westphal <fw@strlen.de> > > > > So this also means that we can fold __do_krealloc() into krealloc()? > > I would leave that to compiler but if you prefer this I can respin. > Sure, no problem. Acked-by: David Rientjes <rientjes@google.com>
diff --git a/include/linux/slab.h b/include/linux/slab.h index 877a95c6a2d2..03a389358562 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -184,7 +184,6 @@ void memcg_deactivate_kmem_caches(struct mem_cgroup *, struct mem_cgroup *); /* * Common kmalloc functions provided by all allocators */ -void * __must_check __krealloc(const void *, size_t, gfp_t); void * __must_check krealloc(const void *, size_t, gfp_t); void kfree(const void *); void kzfree(const void *); diff --git a/mm/slab_common.c b/mm/slab_common.c index f0ab6d4ceb4c..87e8923cf0b6 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -1675,28 +1675,6 @@ static __always_inline void *__do_krealloc(const void *p, size_t new_size, return ret; } -/** - * __krealloc - like krealloc() but don't free @p. - * @p: object to reallocate memory for. - * @new_size: how many bytes of memory are required. - * @flags: the type of memory to allocate. - * - * This function is like krealloc() except it never frees the originally - * allocated buffer. Use this if you don't want to free the buffer immediately - * like, for example, with RCU. - * - * Return: pointer to the allocated memory or %NULL in case of error - */ -void *__krealloc(const void *p, size_t new_size, gfp_t flags) -{ - if (unlikely(!new_size)) - return ZERO_SIZE_PTR; - - return __do_krealloc(p, new_size, flags); - -} -EXPORT_SYMBOL(__krealloc); - /** * krealloc - reallocate memory. The contents will remain unchanged. * @p: object to reallocate memory for. diff --git a/scripts/coccinelle/free/devm_free.cocci b/scripts/coccinelle/free/devm_free.cocci index 441799b5359b..66aaf68889a5 100644 --- a/scripts/coccinelle/free/devm_free.cocci +++ b/scripts/coccinelle/free/devm_free.cocci @@ -94,8 +94,6 @@ position p; kfree@p(x) | kzfree@p(x) -| - __krealloc@p(x, ...) | krealloc@p(x, ...) | @@ -120,8 +118,6 @@ position p != safe.p; | * kzfree@p(x) | -* __krealloc@p(x, ...) -| * krealloc@p(x, ...) | * free_pages@p(x, ...)
Since 5.5-rc1 the last user of this function is gone, so remove the functionality. See commit 2ad9d7747c10 ("netfilter: conntrack: free extension area immediately") for details. Signed-off-by: Florian Westphal <fw@strlen.de> --- include/linux/slab.h | 1 - mm/slab_common.c | 22 ---------------------- scripts/coccinelle/free/devm_free.cocci | 4 ---- 3 files changed, 27 deletions(-)