[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Sep 2015 14:59:19 +0200
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: Christoph Lameter <cl@...ux.com>
Cc: Alexander Duyck <alexander.duyck@...il.com>,
netdev@...r.kernel.org, akpm@...ux-foundation.org,
linux-mm@...ck.org, aravinda@...ux.vnet.ibm.com,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
iamjoonsoo.kim@....com, brouer@...hat.com
Subject: Re: [RFC PATCH 0/3] Network stack, first user of SLAB/kmem_cache
bulk free API.
On Tue, 8 Sep 2015 12:32:40 -0500 (CDT)
Christoph Lameter <cl@...ux.com> wrote:
> On Sat, 5 Sep 2015, Jesper Dangaard Brouer wrote:
>
> > The double_cmpxchg without lock prefix still cost 9 cycles, which is
> > very fast but still a cost (add approx 19 cycles for a lock prefix).
> >
> > It is slower than local_irq_disable + local_irq_enable that only cost
> > 7 cycles, which the bulking call uses. (That is the reason bulk calls
> > with 1 object can almost compete with fastpath).
>
> Hmmm... Guess we need to come up with distinct version of kmalloc() for
> irq and non irq contexts to take advantage of that . Most at non irq
> context anyways.
I agree, it would be an easy win. Do notice this will have the most
impact for the slAb allocator.
I estimate alloc + free cost would save:
* slAb would save approx 60 cycles
* slUb would save approx 4 cycles
We might consider keeping the slUb approach as it would be more
friendly for RT with less IRQ disabling.
--
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