lkml.org 
[lkml]   [2017]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] kfree_rcu() should use the new kfree_bulk() interface for freeing rcu structures

    On Tue, 19 Dec 2017 09:52:27 -0800 rao.shoaib@oracle.com wrote:

    > diff --git a/mm/slab_common.c b/mm/slab_common.c
    > index c8cb367..06fd12c 100644
    > --- a/mm/slab_common.c
    > +++ b/mm/slab_common.c
    > @@ -20,6 +20,7 @@
    > #include <asm/tlbflush.h>
    > #include <asm/page.h>
    > #include <linux/memcontrol.h>
    > +#include <linux/types.h>
    >
    > #define CREATE_TRACE_POINTS
    > #include <trace/events/kmem.h>
    > @@ -129,6 +130,7 @@ int __kmem_cache_alloc_bulk(struct kmem_cache *s, gfp_t flags, size_t nr,
    >
    > for (i = 0; i < nr; i++) {
    > void *x = p[i] = kmem_cache_alloc(s, flags);
    > +
    > if (!x) {
    > __kmem_cache_free_bulk(s, i, p);
    > return 0;
    > @@ -353,6 +355,7 @@ unsigned long calculate_alignment(slab_flags_t flags,
    > */
    > if (flags & SLAB_HWCACHE_ALIGN) {
    > unsigned long ralign = cache_line_size();
    > +
    > while (size <= ralign / 2)
    > ralign /= 2;
    > align = max(align, ralign);
    > @@ -444,9 +447,8 @@ kmem_cache_create(const char *name, size_t size, size_t align,
    > mutex_lock(&slab_mutex);
    >
    > err = kmem_cache_sanity_check(name, size);
    > - if (err) {
    > + if (err)
    > goto out_unlock;
    > - }
    >
    > /* Refuse requests with allocator specific flags */
    > if (flags & ~SLAB_FLAGS_PERMITTED) {
    > @@ -1131,6 +1133,7 @@ EXPORT_SYMBOL(kmalloc_order);
    > void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
    > {
    > void *ret = kmalloc_order(size, flags, order);
    > +
    > trace_kmalloc(_RET_IP_, ret, size, PAGE_SIZE << order, flags);
    > return ret;
    > }

    Looks like you are mixing in cleanups (which should be avoided, and
    instead moved to another patch).

    > @@ -1483,6 +1486,197 @@ void kzfree(const void *p)
    [...]
    > +
    > +/* processes list of rcu structures
    > + * used when conatiner can not be allocated
    > + */

    Spelling.

    --
    Best regards,
    Jesper Dangaard Brouer
    MSc.CS, Principal Kernel Engineer at Red Hat
    LinkedIn: http://www.linkedin.com/in/brouer

    \
     
     \ /
      Last update: 2017-12-19 20:33    [W:4.067 / U:1.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site