[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1411047689.7106.258.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Thu, 18 Sep 2014 06:41:29 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jesper Dangaard Brouer <jbrouer@...hat.com>
Cc: Alexander Duyck <alexander.h.duyck@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Tom Herbert <therbert@...gle.com>
Subject: Re: CPU scheduler to TXQ binding? (ixgbe vs. igb)
On Thu, 2014-09-18 at 06:33 -0700, Eric Dumazet wrote:
> Note that for TCP, there are packets sent by the process doing the
> send(), or packets sent by cpu doing TX completion (because of TSQ),
> but also packets sent by ACK processing done in the reverse way.
>
> As Alexander explained, if the ACK packets are delivered into another
> CPU, then you might select another TX queue.
>
> This is mostly prevented because of ooo_okay logic, meaning that a busy
> bulk flow should stick into a single TX queue, no matter of XPS says.
>
> A TCP_RR workload is free to chose whatever queue, because every packet
> starting a RR block has the ooo_okay set (As prior data was delivered
> and acknowledged by the opposite peer)
>
Last but not least, there is the fact that networking stacks use
mod_timer() to arm timers, and that by default, timer migration is on
( cf /proc/sys/kernel/timer_migration )
We probably should use mod_timer_pinned(), but I could not really see
any difference.
--
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