On Mon, 15 Jun 2015, Jesper Dangaard Brouer wrote: > + for (i = 0; i < size; i++) { > + void *object = p[i]; > + > + if (unlikely(!object)) > + continue; // HOW ABOUT BUG_ON()???
Sure BUG_ON would be fitting here. > + > + page = virt_to_head_page(object); > + BUG_ON(s != page->slab_cache); /* Check if valid slab page */ This is the check if the slab page belongs to the slab cache we are interested in. > + > + if (c->page == page) { > + /* Fastpath: local CPU free */ > + set_freepointer(s, object, c->freelist); > + c->freelist = object; > + } else { > + c->tid = next_tid(c->tid); tids are only useful for the fastpath. No need to fiddle around with them for the slowpath. > + local_irq_enable(); > + /* Slowpath: overhead locked cmpxchg_double_slab */ -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html