On Mon, 15 Jun 2015 11:34:44 -0500 (CDT) Christoph Lameter <cl@xxxxxxxxx> wrote: > 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. Okay, will do in V2. > > + > > + 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. Is this appropriate to keep on this fastpath? (I copied the check from one of your earlier patches) > > + > > + 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. Okay, understood. > > + local_irq_enable(); > > + /* Slowpath: overhead locked cmpxchg_double_slab */ -- Best regards, Jesper Dangaard Brouer MSc.CS, Sr. Network Kernel Developer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>