[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150616100456.624d775e@redhat.com>
Date: Tue, 16 Jun 2015 10:04:56 +0200
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: Christoph Lameter <cl@...ux.com>
Cc: linux-mm@...ck.org, Andrew Morton <akpm@...ux-foundation.org>,
netdev@...r.kernel.org,
Alexander Duyck <alexander.duyck@...il.com>, brouer@...hat.com
Subject: Re: [PATCH 7/7] slub: initial bulk free implementation
On Mon, 15 Jun 2015 11:34:44 -0500 (CDT)
Christoph Lameter <cl@...ux.com> 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 from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists