Re: [PATCH v3] scripts/link-vmlinux.sh: Add alias to duplicate symbols for kallsyms

2023-09-11 Thread Alexander Lobakin
From: Alessandro Carminati (Red Hat) Date: Mon, 28 Aug 2023 08:04:23 + > From: Alessandro Carminati > > It is not uncommon for drivers or modules related to similar peripherals > to have symbols with the exact same name. [...] > Changes from v2: > - Alias tags are created by querying

Re: [PATCH v1 1/1] bitops: Share BYTES_TO_BITS() for everyone

2023-09-11 Thread Alexander Lobakin
From: Yury Norov Date: Sun, 10 Sep 2023 07:07:16 -0700 > On Wed, Sep 06, 2023 at 05:54:26PM +0300, Andy Shevchenko wrote: >> On Wed, Sep 06, 2023 at 04:40:39PM +0200, Alexander Lobakin wrote: >>> From: Andy Shevchenko >>> Date: Thu, 31 Aug 2023 16:21:30 +0300 >>

[PATCH v2 net] gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check

2021-04-19 Thread Alexander Lobakin
iewed-by from Eric. [0] https://lore.kernel.org/netdev/20210418114200.5839-1-aloba...@pm.me Fixes: 38ec4944b593 ("gro: ensure frag0 meets IP header alignment") Reviewed-by: Eric Dumazet Signed-off-by: Alexander Lobakin --- net/core/dev.c | 8 1 file changed, 4 insertions(+

Re: [PATCH net] gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check

2021-04-19 Thread Alexander Lobakin
From: Eric Dumazet Date: Mon, 19 Apr 2021 13:05:16 +0200 > On Sun, Apr 18, 2021 at 1:43 PM Alexander Lobakin wrote: > > > > Commit 38ec4944b593 ("gro: ensure frag0 meets IP header alignment") > > did the right thing, but missed the fact that na

Re: [PATCH v2 bpf-next 0/2] xsk: introduce generic almost-zerocopy xmit

2021-04-18 Thread Alexander Lobakin
16:13:12 +0200, Magnus Karlsson > > wrote: > > > On Wed, Mar 31, 2021 at 2:27 PM Alexander Lobakin wrote: > > > > > > > > This series is based on the exceptional generic zerocopy xmit logics > > > > initially introduced by Xuan Zhuo. It extends it

[PATCH net] gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check

2021-04-18 Thread Alexander Lobakin
s Fast GRO for napi_gro_frags() that became very slow after the mentioned commit, and preserves the introduced check to avoid silent unaligned accesses. Fixes: 38ec4944b593 ("gro: ensure frag0 meets IP header alignment") Signed-off-by: Alexander Lobakin --- net/core/dev.c | 8 1 file changed

Re: [PATCH] kbuild: merge module sections under CONFIG_LD_DEAD_CODE_DATA_ELIMINATION too

2021-04-06 Thread Alexander Lobakin
On Friday, 2 April 2021, 18:09, Sami Tolvanen wrote: > On Fri, Apr 2, 2021 at 5:40 AM Alexander Lobakin aloba...@pm.me wrote: > > > When building with CONFIG_LD_DEAD_CODE_DATA_ELIMINATION, > > -fdata-sections and -ffunction-sections are being enabled by the > > top-le

[PATCH] kbuild: merge module sections under CONFIG_LD_DEAD_CODE_DATA_ELIMINATION too

2021-04-02 Thread Alexander Lobakin
odule sections if and only if CONFIG_LTO_CLANG is enabled") Signed-off-by: Alexander Lobakin --- scripts/module.lds.S | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/module.lds.S b/scripts/module.lds.S index 2c52535f9b56..d6bbdfc55e08 100644 ---

Re: [PATCH bpf-next 0/2] xsk: introduce generic almost-zerocopy xmit

2021-03-31 Thread Alexander Lobakin
From: Magnus Karlsson Date: Wed, 31 Mar 2021 11:44:45 +0200 > On Wed, Mar 31, 2021 at 1:17 AM Alexander Lobakin wrote: > > > > This series is based on the exceptional generic zerocopy xmit logics > > initially introduced by Xuan Zhuo. It extends it the way that it > &g

[PATCH v2 bpf-next 2/2] xsk: introduce generic almost-zerocopy xmit

2021-03-31 Thread Alexander Lobakin
n be found in lots of drivers and places of core code and it is believed that 256 bytes are enough to store any headers of any frame. Cc: Xuan Zhuo Signed-off-by: Alexander Lobakin --- net/xdp/xsk.c | 25 + 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/net

[PATCH v2 bpf-next 1/2] xsk: speed-up generic full-copy xmit

2021-03-31 Thread Alexander Lobakin
()) with no loss. Also align memcpy()'s len to sizeof(long) to improve its performance. Signed-off-by: Alexander Lobakin --- net/xdp/xsk.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index a71ed664da0a..41f8f21b3348 100644 --- a/net/xdp/xsk.c

[PATCH v2 bpf-next 0/2] xsk: introduce generic almost-zerocopy xmit

2021-03-31 Thread Alexander Lobakin
e. [0] https://lore.kernel.org/netdev/20210330231528.546284-1-aloba...@pm.me Alexander Lobakin (2): xsk: speed-up generic full-copy xmit xsk: introduce generic almost-zerocopy xmit net/xdp/xsk.c | 32 ++-- 1 file changed, 22 insertions(+), 10 deletions(-) -

[PATCH bpf-next 2/2] xsk: introduce generic almost-zerocopy xmit

2021-03-30 Thread Alexander Lobakin
n be found in lots of drivers and places of core code and it is believed that 256 bytes are enough to store any headers of any frame. Cc: Xuan Zhuo Signed-off-by: Alexander Lobakin --- net/xdp/xsk.c | 26 ++ 1 file changed, 22 insertions(+), 4 deletions(-) diff --git

[PATCH bpf-next 0/2] xsk: introduce generic almost-zerocopy xmit

2021-03-30 Thread Alexander Lobakin
. Alexander Lobakin (2): xsk: speed-up generic full-copy xmit xsk: introduce generic almost-zerocopy xmit net/xdp/xsk.c | 33 +++-- 1 file changed, 23 insertions(+), 10 deletions(-) -- Well, this is untested. I currently don't have an access to my setup

[PATCH bpf-next 1/2] xsk: speed-up generic full-copy xmit

2021-03-30 Thread Alexander Lobakin
()) with no loss. Also align memcpy()'s len to sizeof(long) to improve its performance. Signed-off-by: Alexander Lobakin --- net/xdp/xsk.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index a71ed664da0a..41f8f21b3348 100644 --- a/net/xdp/xsk.c

Re: [PATCH 9/9] net: page_pool: use alloc_pages_bulk in refill code path

2021-03-25 Thread Alexander Lobakin
satisfied with the results, especially the new array-based version. Haven't had a chance to test this particular set yet, but still. Reviewed-by: Alexander Lobakin Great work, thank you all guys! > --- > include/net/page_pool.h | 2 +- > net/core/page_pool.c| 82 ++

Re: [PATCH net-next 0/6] page_pool: recycle buffers

2021-03-24 Thread Alexander Lobakin
From: Ilias Apalodimas Date: Wed, 24 Mar 2021 09:50:38 +0200 > Hi Alexander, Hi! > On Tue, Mar 23, 2021 at 08:03:46PM +, Alexander Lobakin wrote: > > From: Ilias Apalodimas > > Date: Tue, 23 Mar 2021 19:01:52 +0200 > > > > > On Tue, Mar 23, 2021 at 04

Re: [PATCH RESEND] PCI: dwc: put struct dw_pcie::{ep,pp} into a union to reduce its size

2021-03-24 Thread Alexander Lobakin
From: Krzysztof WilczyƄski Date: Wed, 24 Mar 2021 02:31:42 +0100 > Hi Alexander, Hi! > Thank you for sending the patch over! > > > A single dw_pcie entity can't be a root complex and an endpoint at > > the same time. > > Nice catch! > > A small nitpick: this would be Root Complex and Endpoint,

Re: [PATCH net-next 0/6] page_pool: recycle buffers

2021-03-23 Thread Alexander Lobakin
From: Ilias Apalodimas Date: Tue, 23 Mar 2021 19:01:52 +0200 > On Tue, Mar 23, 2021 at 04:55:31PM +0000, Alexander Lobakin wrote: > > > > > > > > > [...] > > > > > > > > > > > > > Thanks for the testing! > > > > &

[PATCH v2 mtd/fixes] mtd: spinand: core: add missing MODULE_DEVICE_TABLE()

2021-03-23 Thread Alexander Lobakin
;) Cc: sta...@vger.kernel.org # 4.19+ Signed-off-by: Alexander Lobakin --- drivers/mtd/nand/spi/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c index 61d932c1b718..17f63f95f4a2 100644 --- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/

[PATCH mtd/fixes] mtd: spinand: core: add missing MODULE_DEVICE_TABLE()

2021-03-23 Thread Alexander Lobakin
The module misses MODULE_DEVICE_TABLE() for both SPI and OF ID tables and thus never autoloads on ID matches. Add the missing declarations. Present since day-0 of spinand framework introduction. Cc: sta...@vger.kernel.org # 4.19+ Signed-off-by: Alexander Lobakin --- drivers/mtd/nand/spi/core.c

Re: [PATCH net-next 0/6] page_pool: recycle buffers

2021-03-23 Thread Alexander Lobakin
as wrote: > > > > > > > On Tue, Mar 23, 2021 at 03:41:23PM +, Alexander Lobakin wrote: > > > > > From: Matteo Croce > > > > > Date: Mon, 22 Mar 2021 18:02:55 +0100 > > > > > > > > > > > From: Matteo C

Re: [PATCH net-next] page_pool: let the compiler optimize and inline core functions

2021-03-23 Thread Alexander Lobakin
From: Jesper Dangaard Brouer Date: Tue, 23 Mar 2021 10:01:38 +0100 > On Mon, 22 Mar 2021 18:30:55 + > Alexander Lobakin wrote: > > > As per disscussion in Page Pool bulk allocator thread [0], > > there are two functions in Page Pool core code that are marked as >

Re: [PATCH net-next 0/6] page_pool: recycle buffers

2021-03-23 Thread Alexander Lobakin
From: Matteo Croce Date: Mon, 22 Mar 2021 18:02:55 +0100 > From: Matteo Croce > > This series enables recycling of the buffers allocated with the page_pool API. > The first two patches are just prerequisite to save space in a struct and > avoid recycling pages allocated with other API. > Patch

[PATCH net-next] page_pool: let the compiler optimize and inline core functions

2021-03-22 Thread Alexander Lobakin
nce. This simple removal of 'noinline' keywords bumps the throughput on XDP_PASS + napi_build_skb() + napi_gro_receive() on 25+ Mbps for 1G embedded NIC. [0] https://lore.kernel.org/netdev/20210317222506.1266004-1-aloba...@pm.me Signed-off-by: Alexander Lobakin --- net/core/page_pool.c | 2 -- 1 file chan

[PATCH] MIPS: generic: Support linking with LLVM ld.lld

2021-03-22 Thread Alexander Lobakin
From: Paul Cercueil Date: Sun, 21 Mar 2021 13:18:05 + > LLVM's ld.lld chokes on the 64-bit sign-extended load addresses. Use > 32-bit addresses if the linker is LLVM's ld.lld. > > Signed-off-by: Paul Cercueil > --- > arch/mips/generic/Platform | 4 ++-- > 1 file changed, 2 insertions(+), 2

[PATCH RESEND 0/2] kconfig: fence choices and menuconfigs with comments in .config too

2021-03-19 Thread Alexander Lobakin
themselves a bit to let know if they belong to choice or menu{,config} block. Alexander Lobakin (2): kconfig: fence choices and menuconfigs with comments in .config too kconfig: mention submenu type in comment blocks in .config scripts/kconfig/confdata.c | 43

[PATCH RESEND 1/2] kconfig: fence choices and menuconfigs with comments in .config too

2021-03-19 Thread Alexander Lobakin
x CONFIG_RESET_CONTROLLER=y x CONFIG_RESET_BRCMSTB_RESCAL is not set x CONFIG_RESET_INTEL_GW is not set x CONFIG_RESET_TI_SYSCON is not set x end of Reset Controller Support Signed-off-by: Alexander Lobakin --- scripts/kconfig/confdata.c | 25 ++--- 1 file changed, 14

[PATCH RESEND 2/2] kconfig: mention submenu type in comment blocks in .config

2021-03-19 Thread Alexander Lobakin
choice x CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y x end of Timers subsystem menu Signed-off-by: Alexander Lobakin --- scripts/kconfig/confdata.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c

[PATCH 0/2] kconfig: fence choices and menuconfigs with comments in .config too

2021-03-19 Thread Alexander Lobakin
themselves a bit to let know if they belong to choice or menu{,config} block. Alexander Lobakin (2): kconfig: fence choices and menuconfigs with comments in .config too kconfig: mention submenu type in comment blocks in .config scripts/kconfig/confdata.c | 43

[PATCH 1/2] kconfig: fence choices and menuconfigs with comments in .config too

2021-03-19 Thread Alexander Lobakin
=y CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y Menuconfigs before: CONFIG_RESET_CONTROLLER=y Menuconfigs after: CONFIG_RESET_CONTROLLER=y Signed-off-by: Alexander Lobakin --- scripts/kconfig/confdata.c | 25 ++--- 1 file changed, 14 insertions(+), 11 deletions(-) diff

[PATCH 2/2] kconfig: mention submenu type in comment blocks in .config

2021-03-19 Thread Alexander Lobakin
CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y Signed-off-by: Alexander Lobakin --- scripts/kconfig/confdata.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index e4f0a21fd469..3f50d8b82a54 100644

[PATCH net-next] dsa: simplify Kconfig symbols and dependencies

2021-03-19 Thread Alexander Lobakin
cts inside this folder can be built without DSA core, as well as when CONFIG_NET_DSA=m, no objects can be built-in. Signed-off-by: Alexander Lobakin --- drivers/net/Makefile| 2 +- drivers/net/dsa/Kconfig | 17 - net/dsa/Kconfig | 10 +++--- 3 files changed, 8 inserti

Re: [PATCH net-next 2/4] gro: add combined call_gro_receive() + INDIRECT_CALL_INET() helper

2021-03-19 Thread Alexander Lobakin
From: Paolo Abeni Date: Fri, 19 Mar 2021 13:35:41 +0100 > On Fri, 2021-03-19 at 11:43 +0000, Alexander Lobakin wrote: > > I'm not sure if you did it on purpose in commit aaa5d90b395a7 > > ("net: use indirect call wrappers at GRO network layer"). > > Was that inten

Re: [PATCH net-next 2/4] gro: add combined call_gro_receive() + INDIRECT_CALL_INET() helper

2021-03-19 Thread Alexander Lobakin
From: Alexander Lobakin Date: Fri, 19 Mar 2021 11:13:25 + > From: Paolo Abeni > Date: Fri, 19 Mar 2021 11:53:42 +0100 > > > Hello, > > Hi! > > > On Thu, 2021-03-18 at 18:42 +, Alexander Lobakin wrote: > > > call_gro_receive() is used to

Re: [PATCH net-next 2/4] gro: add combined call_gro_receive() + INDIRECT_CALL_INET() helper

2021-03-19 Thread Alexander Lobakin
From: Paolo Abeni Date: Fri, 19 Mar 2021 11:53:42 +0100 > Hello, Hi! > On Thu, 2021-03-18 at 18:42 +, Alexander Lobakin wrote: > > call_gro_receive() is used to limit GRO recursion, but it works only > > with callback pointers. > > There's a combined ver

[PATCH net-next 3/4] vlan/8021q: avoid retpoline overhead on GRO

2021-03-18 Thread Alexander Lobakin
(when hardware stripping is off or not available). Signed-off-by: Alexander Lobakin --- net/8021q/vlan_core.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 78ec2e1b14d1..59bc13b5f14f 100644 --- a/net/8021q

[PATCH net-next 4/4] ethernet: avoid retpoline overhead on TEB (GENEVE, NvGRE, VxLAN) GRO

2021-03-18 Thread Alexander Lobakin
.) GRO receive code to reduce the penalty when processing the inner headers. Signed-off-by: Alexander Lobakin --- net/ethernet/eth.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index e01cf766d2c5..933b427122be 100644

[PATCH net-next 2/4] gro: add combined call_gro_receive() + INDIRECT_CALL_INET() helper

2021-03-18 Thread Alexander Lobakin
retpoline overhead when IP header lies behind another offloaded proto. Signed-off-by: Alexander Lobakin --- include/net/gro.h | 8 1 file changed, 8 insertions(+) diff --git a/include/net/gro.h b/include/net/gro.h index 27c38b36df16..01edaf3fdda0 100644 --- a/include/net/gro.h +++ b/include

[PATCH net-next 1/4] gro: make net/gro.h self-contained

2021-03-18 Thread Alexander Lobakin
t;net/core: move gro function declarations to separate header ") Signed-off-by: Alexander Lobakin --- include/net/gro.h | 5 + 1 file changed, 5 insertions(+) diff --git a/include/net/gro.h b/include/net/gro.h index 8a6eb5303cc4..27c38b36df16 100644 --- a/include/net/gro.h +++ b/include

[PATCH net-next 0/4] net: avoid retpoline overhead on VLAN and TEB GRO

2021-03-18 Thread Alexander Lobakin
(GENEVE, NvGRE, VxLAN) for retpolined kernels. Alexander Lobakin (4): gro: make net/gro.h self-contained gro: add combined call_gro_receive() + INDIRECT_CALL_INET() helper vlan/8021q: avoid retpoline overhead on GRO ethernet: avoid retpoline overhead on TEB (GENEVE, NvGRE, VxLAN) GRO

Re: [PATCH 0/7 v4] Introduce a bulk order-0 page allocator with two in-tree users

2021-03-17 Thread Alexander Lobakin
From: Jesper Dangaard Brouer Date: Wed, 17 Mar 2021 18:19:43 +0100 > On Wed, 17 Mar 2021 16:52:32 + > Alexander Lobakin wrote: > > > From: Jesper Dangaard Brouer > > Date: Wed, 17 Mar 2021 17:38:44 +0100 > > > > > On Wed, 17 Mar 2021 16:31:07

Re: [PATCH 0/7 v4] Introduce a bulk order-0 page allocator with two in-tree users

2021-03-17 Thread Alexander Lobakin
From: Jesper Dangaard Brouer Date: Wed, 17 Mar 2021 17:38:44 +0100 > On Wed, 17 Mar 2021 16:31:07 + > Alexander Lobakin wrote: > > > From: Mel Gorman > > Date: Fri, 12 Mar 2021 15:43:24 + > > > > Hi there, > > > > > This series is base

Re: [PATCH 0/7 v4] Introduce a bulk order-0 page allocator with two in-tree users

2021-03-17 Thread Alexander Lobakin
From: Mel Gorman Date: Fri, 12 Mar 2021 15:43:24 + Hi there, > This series is based on top of Matthew Wilcox's series "Rationalise > __alloc_pages wrapper" and does not apply to 5.12-rc2. If you want to > test and are not using Andrew's tree as a baseline, I suggest using the > following

Re: [PATCH v3 net-next 4/6] linux/etherdevice.h: misc trailing whitespace cleanup

2021-03-17 Thread Alexander Lobakin
From: Jakub Kicinski Date: Mon, 15 Mar 2021 12:00:39 -0700 > On Mon, 15 Mar 2021 09:38:57 +0000 Alexander Lobakin wrote: > > From: Vladimir Oltean > > Date: Sun, 14 Mar 2021 23:04:53 +0200 > > > > > On Sun, Mar 14, 2021 at 11:11:32AM +, Alexander Lobakin wro

Re: [PATCH v2] MIPS: Check __clang__ to avoid performance influence with GCC in csum_tcpudp_nofold()

2021-03-15 Thread Alexander Lobakin
From: Tiezhu Yang Date: Tue, 9 Mar 2021 12:18:13 +0800 > The asm code in csum_tcpudp_nofold() is performance-critical, I am sorry > for the poorly considered implementation about the performance influence > with GCC in the commit 198688edbf77 ("MIPS: Fix inline asm input/output > type mismatch

Re: [PATCH v3 net-next 4/6] linux/etherdevice.h: misc trailing whitespace cleanup

2021-03-15 Thread Alexander Lobakin
From: Vladimir Oltean Date: Sun, 14 Mar 2021 23:04:53 +0200 > On Sun, Mar 14, 2021 at 11:11:32AM +0000, Alexander Lobakin wrote: > > Caught by the text editor. Fix it separately from the actual changes. > > > > Signed-off-by: Alexander Lobakin > > --- > >

[PATCH v3 net-next 5/6] ethernet: constify eth_get_headlen()'s data argument

2021-03-14 Thread Alexander Lobakin
It's used only for flow dissection, which now takes constant data pointers. Signed-off-by: Alexander Lobakin --- include/linux/etherdevice.h | 2 +- net/ethernet/eth.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/etherdevice.h b/include/linux

[PATCH v3 net-next 4/6] linux/etherdevice.h: misc trailing whitespace cleanup

2021-03-14 Thread Alexander Lobakin
Caught by the text editor. Fix it separately from the actual changes. Signed-off-by: Alexander Lobakin --- include/linux/etherdevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 2e5debc0373c..bcb2f81baafb

[PATCH v3 net-next 6/6] skbuff: micro-optimize {,__}skb_header_pointer()

2021-03-14 Thread Alexander Lobakin
ery packet (e.g. with RPS or driver that uses eth_get_headlen()) on 20 Mbps per flow/core. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 46c61e127e9f..ecc029674

[PATCH v3 net-next 3/6] flow_dissector: constify raw input data argument

2021-03-14 Thread Alexander Lobakin
Flow Dissector code never modifies the input buffer, neither skb nor raw data. Make 'data' argument const for all of the Flow dissector's functions. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 15 ++--- include/net/flow_dissector.h | 2 +- net/core

[PATCH v3 net-next 2/6] skbuff: make __skb_header_pointer()'s data argument const

2021-03-14 Thread Alexander Lobakin
The function never modifies the input buffer, so 'data' argument can be marked as const. This implies one harmless cast-away. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/skbuff.h b/include

[PATCH v3 net-next 0/6] skbuff: micro-optimize flow dissection

2021-03-14 Thread Alexander Lobakin
series applies with no conflicts, and then on Patchwork it didn't; - no other changes. [0] https://lore.kernel.org/netdev/20210312194538.337504-1-aloba...@pm.me [1] https://lore.kernel.org/netdev/20210313113645.5949-1-aloba...@pm.me Alexander Lobakin (6): flow_dissector: constify bpf_flow_disse

[PATCH v3 net-next 1/6] flow_dissector: constify bpf_flow_dissector's data pointers

2021-03-14 Thread Alexander Lobakin
BPF Flow dissection programs are read-only and don't touch input buffers. Mark 'data' and 'data_end' in struct bpf_flow_dissector as const in preparation for global input constifying. Signed-off-by: Alexander Lobakin --- include/net/flow_dissector.h | 4 ++-- 1 file changed, 2 insertions(+), 2

Re: [PATCH v2 net-next 0/6] skbuff: micro-optimize flow dissection

2021-03-14 Thread Alexander Lobakin
From: David Miller Date: Sat, 13 Mar 2021 18:10:00 -0800 (PST) > None of these apply to net-next as per the patchwork automated checks. Any > idea why? No unfortunately. That'why I sent a follow-up mail. All of them successfully apply to pure net-next on my machine. Can it be a Git version

[PATCH v2 net-next 2/3] gro: consistentify napi->gro_hash[x] access in dev_gro_receive()

2021-03-13 Thread Alexander Lobakin
ned-off-by: Alexander Lobakin --- net/core/dev.c | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index 1317e6b6758a..b635467087f3 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5953,7 +5953,7 @@ static v

[PATCH v2 net-next 3/3] gro: give 'hash' variable in dev_gro_receive() a less confusing name

2021-03-13 Thread Alexander Lobakin
'hash' stores not the flow hash, but the index of the GRO bucket corresponding to it. Change its name to 'bucket' to avoid confusion while reading lines like '__set_bit(hash, >gro_bitmask)'. Signed-off-by: Alexander Lobakin --- net/core/dev.c | 12 ++-- 1 file changed, 6 inserti

[PATCH v2 net-next 0/3] gro: micro-optimize dev_gro_receive()

2021-03-13 Thread Alexander Lobakin
/netdev/20210312162127.239795-1-aloba...@pm.me Alexander Lobakin (3): gro: simplify gro_list_prepare() gro: consistentify napi->gro_hash[x] access in dev_gro_receive() gro: give 'hash' variable in dev_gro_receive() a less confusing name net/core/dev.c |

[PATCH v2 net-next 1/3] gro: simplify gro_list_prepare()

2021-03-13 Thread Alexander Lobakin
off-by: Alexander Lobakin --- net/core/dev.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index 2bfdd528c7c3..1317e6b6758a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5858,15 +5858,13 @@ void napi_gro_flush(struct napi_str

Re: [PATCH v2 net-next 0/6] skbuff: micro-optimize flow dissection

2021-03-13 Thread Alexander Lobakin
From: Alexander Lobakin Date: Sat, 13 Mar 2021 11:37:03 + > This little number makes all of the flow dissection functions take > raw input data pointer as const (1-5) and shuffles the branches in > __skb_header_pointer() according to their hit probability. > > The result is +2

[PATCH v2 net-next 6/6] skbuff: micro-optimize {,__}skb_header_pointer()

2021-03-13 Thread Alexander Lobakin
ery packet (e.g. with RPS or driver that uses eth_get_headlen()) on 20 Mbps per flow/core. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 46c61e127e9f..ecc029674

[PATCH v2 net-next 5/6] ethernet: constify eth_get_headlen()'s @data argument

2021-03-13 Thread Alexander Lobakin
It's used only for flow dissection, which now takes constant data pointers. Signed-off-by: Alexander Lobakin --- include/linux/etherdevice.h | 2 +- net/ethernet/eth.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/etherdevice.h b/include/linux

[PATCH v2 net-next 4/6] linux/etherdevice.h: misc trailing whitespace cleanup

2021-03-13 Thread Alexander Lobakin
Caught by the text editor. Fix it separately from the actual changes. Signed-off-by: Alexander Lobakin --- include/linux/etherdevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 2e5debc0373c..bcb2f81baafb

[PATCH v2 net-next 2/6] skbuff: make __skb_header_pointer()'s data argument const

2021-03-13 Thread Alexander Lobakin
The function never modifies the input buffer, so @data argument can be marked as const. This implies one harmless cast-away. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/skbuff.h b/include

[PATCH v2 net-next 3/6] flow_dissector: constify raw input @data argument

2021-03-13 Thread Alexander Lobakin
Flow Dissector code never modifies the input buffer, neither skb nor raw data. Make @data argument const for all of the Flow dissector's functions. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 15 ++--- include/net/flow_dissector.h | 2 +- net/core

[PATCH v2 net-next 1/6] flow_dissector: constify bpf_flow_dissector's data pointers

2021-03-13 Thread Alexander Lobakin
BPF Flow dissection programs are read-only and don't touch input buffers. Mark @data and @data_end in struct bpf_flow_dissector as const in preparation for global input constifying. Signed-off-by: Alexander Lobakin --- include/net/flow_dissector.h | 4 ++-- 1 file changed, 2 insertions(+), 2

[PATCH v2 net-next 0/6] skbuff: micro-optimize flow dissection

2021-03-13 Thread Alexander Lobakin
://lore.kernel.org/netdev/20210312194538.337504-1-aloba...@pm.me Alexander Lobakin (6): flow_dissector: constify bpf_flow_dissector's data pointers skbuff: make __skb_header_pointer()'s data argument const flow_dissector: constify raw input @data argument linux/etherdevice.h: misc trailing

[PATCH net] flow_dissector: fix byteorder of dissected ICMP ID

2021-03-12 Thread Alexander Lobakin
. Fixes: 5dec597e5cd0 ("flow_dissector: extract more ICMP information") Signed-off-by: Alexander Lobakin --- net/core/flow_dissector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 2ef2224b3bff..a96a4f5de

[PATCH net-next 5/6] ethernet: constify eth_get_headlen()'s @data argument

2021-03-12 Thread Alexander Lobakin
It's used only for flow dissection, which now takes constant data pointers. Signed-off-by: Alexander Lobakin --- include/linux/etherdevice.h | 2 +- net/ethernet/eth.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/etherdevice.h b/include/linux

[PATCH net-next 6/6] skbuff: micro-optimize {,__}skb_header_pointer()

2021-03-12 Thread Alexander Lobakin
ery packet (e.g. with RPS or driver that uses eth_get_headlen()) on 20 Mbps per flow/core. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 7873f24c0ae5..71f4d6098

[PATCH net-next 4/6] linux/etherdevice.h: misc trailing whitespace cleanup

2021-03-12 Thread Alexander Lobakin
Caught by the text editor. Fix it separately from the actual changes. Signed-off-by: Alexander Lobakin --- include/linux/etherdevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 2e5debc0373c..bcb2f81baafb

[PATCH net-next 3/6] flow_dissector: constify raw input @data argument

2021-03-12 Thread Alexander Lobakin
Flow Dissector code never modifies the input buffer, neither skb nor raw data. Make @data argument const for all of the Flow dissector's functions. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 15 ++--- include/net/flow_dissector.h | 2 +- net/core

[PATCH net-next 2/6] skbuff: make __skb_header_pointer()'s data argument const

2021-03-12 Thread Alexander Lobakin
The function never modifies the input buffer, so @data argument can be marked as const. This implies one harmless cast-away. Signed-off-by: Alexander Lobakin --- include/linux/skbuff.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/skbuff.h b/include

[PATCH net-next 0/6] skbuff: micro-optimize flow dissection

2021-03-12 Thread Alexander Lobakin
(with software hashing), drivers that use eth_get_headlen() on their Rx path and so on. Alexander Lobakin (6): flow_dissector: constify bpf_flow_dissector's data pointers skbuff: make __skb_header_pointer()'s data argument const flow_dissector: constify raw input @data argument linux/etherdevice.h

[PATCH net-next 1/6] flow_dissector: constify bpf_flow_dissector's data pointers

2021-03-12 Thread Alexander Lobakin
BPF Flow dissection programs are read-only and don't touch input buffers. Mark @data and @data_end in struct bpf_flow_dissector as const in preparation for global input constifying. Signed-off-by: Alexander Lobakin --- include/net/flow_dissector.h | 4 ++-- 1 file changed, 2 insertions(+), 2

Re: [PATCH net-next 2/4] gro: don't dereference napi->gro_hash[x] multiple times in dev_gro_receive()

2021-03-12 Thread Alexander Lobakin
From: Eric Dumazet Date: Fri, 12 Mar 2021 17:47:04 +0100 > On Fri, Mar 12, 2021 at 5:22 PM Alexander Lobakin wrote: > > > > GRO bucket index doesn't change through the entire function. > > Store a pointer to the corresponding bucket on stack once and use > > it lat

Re: [PATCH net-next 4/4] gro: improve flow distribution across GRO buckets in dev_gro_receive()

2021-03-12 Thread Alexander Lobakin
From: Eric Dumazet Date: Fri, 12 Mar 2021 17:33:53 +0100 > On Fri, Mar 12, 2021 at 5:22 PM Alexander Lobakin wrote: > > > > Most of the functions that "convert" hash value into an index > > (when RPS is configured / XPS is not configured / etc.) set > >

[PATCH net-next 4/4] gro: improve flow distribution across GRO buckets in dev_gro_receive()

2021-03-12 Thread Alexander Lobakin
ersion between GRO hash buckets. Signed-off-by: Alexander Lobakin --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index 65d9e7d9d1e8..bd7c9ba54623 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5952,7 +5952,7

[PATCH net-next 2/4] gro: don't dereference napi->gro_hash[x] multiple times in dev_gro_receive()

2021-03-12 Thread Alexander Lobakin
GRO bucket index doesn't change through the entire function. Store a pointer to the corresponding bucket on stack once and use it later instead of dereferencing again and again. Signed-off-by: Alexander Lobakin --- net/core/dev.c | 9 + 1 file changed, 5 insertions(+), 4 deletions

[PATCH net-next 3/4] gro: simplify gro_list_prepare()

2021-03-12 Thread Alexander Lobakin
off-by: Alexander Lobakin --- net/core/dev.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index ee124aecb8a2..65d9e7d9d1e8 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5858,15 +5858,13 @@ void napi_gro_flush(struct napi_str

[PATCH net-next 1/4] gro: give 'hash' variable in dev_gro_receive() a less confusing name

2021-03-12 Thread Alexander Lobakin
'hash' stores not the flow hash, but the index of the GRO bucket corresponding to it. Change its name to 'bucket' to avoid confusion while reading lines like '__set_bit(hash, >gro_bitmask)'. Signed-off-by: Alexander Lobakin --- net/core/dev.c | 18 +- 1 file changed

[PATCH net-next 0/4] gro: micro-optimize dev_gro_receive()

2021-03-12 Thread Alexander Lobakin
function and a number of Rx flows per single NAPI instance. I got something like +10-15 Mbps on 4-8 flows NATing. Alexander Lobakin (4): gro: give 'hash' variable in dev_gro_receive() a less confusing name gro: don't dereference napi->gro_hash[x] multiple times in dev_gro_receive()

[PATCH RESEND] PCI: dwc: put struct dw_pcie::{ep,pp} into a union to reduce its size

2021-03-12 Thread Alexander Lobakin
-by: Alexander Lobakin --- drivers/pci/controller/dwc/pcie-designware.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index 7247c8b01f04..ca8aeba548ab 100644 --- a/drivers/pci

Re: [PATCH 5.4 00/24] 5.4.105-rc1 review

2021-03-12 Thread Alexander Lobakin
From: Florian Fainelli Date: Thu, 11 Mar 2021 09:41:27 -0800 Hi Florian, > On 3/11/21 9:40 AM, Greg KH wrote: > > On Thu, Mar 11, 2021 at 09:23:56AM -0800, Florian Fainelli wrote: > >> On 3/11/21 5:08 AM, Greg KH wrote: > >>> On Wed, Mar 10, 2021 at 08:19:45PM -0800, Florian Fainelli wrote: >

Re: [PATCH v4] net/qrtr: fix __netdev_alloc_skb call

2021-02-28 Thread Alexander Lobakin
0 fs/read_write.c:518 > vfs_write+0x791/0xa30 fs/read_write.c:605 > ksys_write+0x12d/0x250 fs/read_write.c:658 > do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 > entry_SYSCALL_64_after_hwframe+0x44/0xa9 > > Reported-by: syzbot+80dccaee7c6630fa9...@syzkaller.appspotmail.com &

Re: [PATCH v3] net/core/skbuff: fix passing wrong size to __alloc_skb

2021-02-28 Thread Alexander Lobakin
From: Pavel Skripkin Date: Sun, 28 Feb 2021 22:28:13 +0300 > Hi, thanks for reply! > > > From: Pavel Skripkin > > Date: Sat, 27 Feb 2021 20:51:14 +0300 > > > > Hi, > > > > > syzbot found WARNING in __alloc_pages_nodemask()[1] when order >= > > > MAX_ORDER. > > > It was caused by

Re: [PATCH v3] net/core/skbuff: fix passing wrong size to __alloc_skb

2021-02-28 Thread Alexander Lobakin
From: Jakub Kicinski Date: Sun, 28 Feb 2021 10:55:52 -0800 > On Sun, 28 Feb 2021 18:14:46 +0000 Alexander Lobakin wrote: > > > [1] WARNING in __alloc_pages_nodemask+0x5f8/0x730 mm/page_alloc.c:5014 > > > Call Trace: > > > __alloc_pages include/linux/gfp.h:511 [inl

Re: [PATCH v3] net/core/skbuff: fix passing wrong size to __alloc_skb

2021-02-28 Thread Alexander Lobakin
From: Pavel Skripkin Date: Sat, 27 Feb 2021 20:51:14 +0300 Hi, > syzbot found WARNING in __alloc_pages_nodemask()[1] when order >= MAX_ORDER. > It was caused by __netdev_alloc_skb(), which doesn't check len value after > adding NET_SKB_PAD. > Order will be >= MAX_ORDER and passed to

Re: [PATCH] net/core/skbuff.c: __netdev_alloc_skb fix when len is greater than KMALLOC_MAX_SIZE

2021-02-27 Thread Alexander Lobakin
From: Pavel Skripkin Date: Fri, 26 Feb 2021 22:11:06 +0300 Hi, > syzbot found WARNING in __alloc_pages_nodemask()[1] when order >= MAX_ORDER. > It was caused by __netdev_alloc_skb(), which doesn't check len value after > adding NET_SKB_PAD. > Order will be >= MAX_ORDER and passed to

Re: [PATCH] arm64: enable GENERIC_FIND_FIRST_BIT

2021-02-25 Thread Alexander Lobakin
From: Yury Norov Date: Wed, 24 Feb 2021 07:44:16 -0800 > On Wed, Feb 24, 2021 at 11:52:55AM +0000, Alexander Lobakin wrote: > > From: Yury Norov > > Date: Sat, 5 Dec 2020 08:54:06 -0800 > > > > Hi, > > > > > ARM64 doesn't implement find_first_{zero}

Re: [PATCH] arm64: enable GENERIC_FIND_FIRST_BIT

2021-02-24 Thread Alexander Lobakin
From: Yury Norov Date: Sat, 5 Dec 2020 08:54:06 -0800 Hi, > ARM64 doesn't implement find_first_{zero}_bit in arch code and doesn't > enable it in config. It leads to using find_next_bit() which is less > efficient: > > : >0: aa0003e4mov x4, x0 >4: aa0103e0

Re: [GIT PULL v2] clang-lto for v5.12-rc1

2021-02-23 Thread Alexander Lobakin
From: Linus Torvalds Date: Tue, 23 Feb 2021 12:33:05 -0800 > On Tue, Feb 23, 2021 at 9:49 AM Linus Torvalds > wrote: > > > > On Mon, Feb 22, 2021 at 3:11 PM Kees Cook wrote: > > > > > > While x86 LTO enablement is done[1], it depends on some objtool > > > clean-ups[2], though it appears those

Re: [PATCH mips-fixes] vmlinux.lds.h: catch even more instrumentation symbols into .data

2021-02-23 Thread Alexander Lobakin
From: Thomas Bogendoerfer Date: Tue, 23 Feb 2021 13:21:44 +0100 > On Tue, Feb 23, 2021 at 11:36:41AM +0000, Alexander Lobakin wrote: > > > LKP caught another bunch of orphaned instrumentation symbols [0]: > > > > > > mipsel-linux-ld: warning: orphan section `.data.$

Re: [PATCH mips-fixes] vmlinux.lds.h: catch even more instrumentation symbols into .data

2021-02-23 Thread Alexander Lobakin
rnel.org/lkml/202102231519.lwplpvev-...@intel.com > > Reported-by: kernel test robot > Signed-off-by: Alexander Lobakin > --- > include/asm-generic/vmlinux.lds.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Hi Thomas, This applies on top of mips-next or Linu

[PATCH mips-fixes] vmlinux.lds.h: catch even more instrumentation symbols into .data

2021-02-23 Thread Alexander Lobakin
' from `init/calibrate.o' being placed in section `.data.$LPBX0' [...] Soften the wildcard to .data.$L* to grab these ones into .data too. [0] https://lore.kernel.org/lkml/202102231519.lwplpvev-...@intel.com Reported-by: kernel test robot Signed-off-by: Alexander Lobakin --- include/asm-generic

Re: linux-next: manual merge of the kspp tree with the mips tree

2021-02-23 Thread Alexander Lobakin
From: Stephen Rothwell Date: Tue, 23 Feb 2021 10:49:50 +1100 > Hi all, Hi, > On Mon, 15 Feb 2021 07:47:26 +1100 Stephen Rothwell > wrote: > > > > On Mon, 18 Jan 2021 15:08:04 +1100 Stephen Rothwell > > wrote: > > > > > > Today's linux-next merge of the kspp tree got a conflict in: > > > >

[PATCH v8 bpf-next 5/5] xsk: build skb by page (aka generic zerocopy xmit)

2021-02-18 Thread Alexander Lobakin
ear ] Signed-off-by: Alexander Lobakin Acked-by: Magnus Karlsson Acked-by: John Fastabend --- net/xdp/xsk.c | 120 -- 1 file changed, 96 insertions(+), 24 deletions(-) diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index 143979ea4165..a71ed664da0a 100

[PATCH v8 bpf-next 4/5] xsk: respect device's headroom and tailroom on generic xmit path

2021-02-18 Thread Alexander Lobakin
ct need it (not so rare case). Fixes: 35fcde7f8deb ("xsk: support for Tx") Signed-off-by: Alexander Lobakin Acked-by: Magnus Karlsson Acked-by: John Fastabend --- net/xdp/xsk.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/net/xdp/xsk.c b/net/

[PATCH v8 bpf-next 3/5] virtio-net: support IFF_TX_SKB_NO_LINEAR

2021-02-18 Thread Alexander Lobakin
From: Xuan Zhuo Virtio net supports the case where the skb linear space is empty, so add priv_flags. Signed-off-by: Xuan Zhuo Acked-by: Michael S. Tsirkin Signed-off-by: Alexander Lobakin Acked-by: John Fastabend --- drivers/net/virtio_net.c | 3 ++- 1 file changed, 2 insertions(+), 1

[PATCH v8 bpf-next 2/5] net: add priv_flags for allow tx skb without linear

2021-02-18 Thread Alexander Lobakin
whether the network card supports this feature. Signed-off-by: Xuan Zhuo Suggested-by: Alexander Lobakin [ alobakin: give a new flag more detailed description ] Signed-off-by: Alexander Lobakin Acked-by: John Fastabend --- include/linux/netdevice.h | 4 1 file changed, 4 insertions(+) diff

  1   2   3   4   5   6   >