[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150109231703.GF3842288@devbig242.prn2.facebook.com>
Date: Fri, 9 Jan 2015 15:17:03 -0800
From: Martin Lau <kafai@...com>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: <netdev@...r.kernel.org>, <kernel-team@...com>
Subject: Re: [PATCH RFC net-next] ip_tunnel: create percpu gro_cell
On Fri, Jan 09, 2015 at 02:57:44PM -0800, Eric Dumazet wrote:
> On Fri, 2015-01-09 at 10:42 -0800, Martin KaFai Lau wrote:
> > In the ipip tunnel, the skb->queue_mapping is lost in ipip_rcv().
> > All skb will be queued to the same cell->napi_skbs. The
> > gro_cell_poll is pinned to one core under load. In production traffic,
> > we also see severe rx_dropped in the tunl iface and it is probably due to
> > this limit: skb_queue_len(&cell->napi_skbs) > netdev_max_backlog
> >
> > This patch is trying to alloc_percpu(struct gro_cell) and schedule
> > gro_cell_poll to process it in the same core.
>
>
> I wrote a similar patch here at Google, but I removed the
> ____cacheline_aligned_in_smp attribute on struct gro_cell
>
> It was needed because of kcalloc(), but with alloc_percpu(), no gain
> adding a padding.
Is the spin_lock() still needed?
Thanks,
--Martin
--
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