Re: [PATCH v2 03/10] slab: move up code to get kmem_cache_node in free_block()

From: Christoph Lameter
Date: Thu May 08 2014 - 09:51:49 EST


On Wed, 7 May 2014, David Rientjes wrote:

> > @@ -3362,17 +3359,12 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects,
> > int node)
> > {
> > int i;
> > - struct kmem_cache_node *n;
> > + struct kmem_cache_node *n = cachep->node[node];
> >
> > for (i = 0; i < nr_objects; i++) {
> > - void *objp;
> > - struct page *page;
> > -
> > - clear_obj_pfmemalloc(&objpp[i]);
> > - objp = objpp[i];
> > + void *objp = clear_obj_pfmemalloc(&objpp[i]);
> > + struct page *page = virt_to_head_page(objp);
> >
> > - page = virt_to_head_page(objp);
> > - n = cachep->node[node];
> > list_del(&page->lru);
> > check_spinlock_acquired_node(cachep, node);
> > slab_put_obj(cachep, page, objp, node);
>
> I think this unnecessarily obfuscates the code.

It takes the lookup out of the loop. What does the obfuscation?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/