[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YfwUskgPuOREd9hs@linutronix.de>
Date: Thu, 3 Feb 2022 18:45:22 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Eric Dumazet <edumazet@...gle.com>
Cc: bpf <bpf@...r.kernel.org>, netdev <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Jakub Kicinski <kuba@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
John Fastabend <john.fastabend@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH net-next 3/4] net: dev: Makes sure netif_rx() can be
invoked in any context.
On 2022-02-03 17:44:33 [+0100], To Eric Dumazet wrote:
> > I guess the cost of the local_bh_enable()/local_bh_disable() pair
> > will be roughly the same, please measure it :)
>
> We would avoid that branch maybe that helps. Will measure.
| BH OFF/ON : 722922586
| BH OFF/ON : 722931661
| BH OFF/ON : 725341486
| BH OFF/ON : 725909591
| BH OFF/ON : 741705606
| BH OFF/ON-OPT : 536683873
| BH OFF/ON-OPT : 536933779
| BH OFF/ON-OPT : 536967581
| BH OFF/ON-OPT : 537109700
| BH OFF/ON-OPT : 537148631
in a tight loop of 100000000 iterations:
BH OFF/ON = local_bh_disable(); local_bh_enable()
BH OFF/ON-OPT = local_bh_disable(); local_bh_enable_opt()
where local_bh_enable_opt() is the proposed function.
725341486 = ~7.3ns for one iteration.
536967581 = ~5.4ns for one iteration.
This is without tracing+lockdep. So I don't need to sell this to peterz
and focus one the previously suggested version.
Sebastian
Powered by blists - more mailing lists