* Re: [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split
@ 2024-09-14 13:05 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2024-09-14 13:05 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "low confidence bisect report"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20240912171251.937743-11-sdf@fomichev.me>
References: <20240912171251.937743-11-sdf@fomichev.me>
TO: Stanislav Fomichev <sdf@fomichev.me>
TO: netdev@vger.kernel.org
CC: davem@davemloft.net
CC: edumazet@google.com
CC: kuba@kernel.org
CC: pabeni@redhat.com
CC: Mina Almasry <almasrymina@google.com>
Hi Stanislav,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Stanislav-Fomichev/selftests-ncdevmem-Add-a-flag-for-the-selftest/20240913-011631
base: net-next/main
patch link: https://lore.kernel.org/r/20240912171251.937743-11-sdf%40fomichev.me
patch subject: [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409142047.UOZ425m7-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202409142047.UOZ425m7-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from ncdevmem.c:35:
>> tools/testing/selftests/../../../tools/net/ynl/generated/ethtool-user.h:23:43: warning: declaration of 'enum ethtool_header_flags' will not be visible outside of this function [-Wvisibility]
23 | const char *ethtool_header_flags_str(enum ethtool_header_flags value);
| ^
1 warning generated.
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH net-next 00/13] selftests: ncdevmem: Add ncdevmem to ksft @ 2024-09-12 17:12 Stanislav Fomichev 2024-09-12 17:12 ` [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split Stanislav Fomichev 0 siblings, 1 reply; 3+ messages in thread From: Stanislav Fomichev @ 2024-09-12 17:12 UTC (permalink / raw) To: netdev; +Cc: davem, edumazet, kuba, pabeni, Mina Almasry The goal of the series is to simplify and make it possible to use ncdevmem in an automated way from the ksft python wrapper. ncdevmem is slowly mutated into a state where it uses stdout to print the payload and the python wrapper is added to make sure the arrived payload matches the expected one. Cc: Mina Almasry <almasrymina@google.com> Stanislav Fomichev (13): selftests: ncdevmem: Add a flag for the selftest selftests: ncdevmem: Remove validation selftests: ncdevmem: Redirect all non-payload output to stderr selftests: ncdevmem: Separate out dmabuf provider selftests: ncdevmem: Unify error handling selftests: ncdevmem: Remove client_ip selftests: ncdevmem: Remove default arguments selftests: ncdevmem: Switch to AF_INET6 selftests: ncdevmem: Properly reset flow steering selftests: ncdevmem: Use YNL to enable TCP header split selftests: ncdevmem: Remove hard-coded queue numbers selftests: ncdevmem: Move ncdevmem under drivers/net selftests: ncdevmem: Add automated test .../testing/selftests/drivers/net/.gitignore | 1 + tools/testing/selftests/drivers/net/Makefile | 10 + tools/testing/selftests/drivers/net/devmem.py | 46 ++ .../testing/selftests/drivers/net/ncdevmem.c | 682 ++++++++++++++++++ tools/testing/selftests/net/.gitignore | 1 - tools/testing/selftests/net/Makefile | 9 - tools/testing/selftests/net/ncdevmem.c | 570 --------------- 7 files changed, 739 insertions(+), 580 deletions(-) create mode 100644 tools/testing/selftests/drivers/net/.gitignore create mode 100755 tools/testing/selftests/drivers/net/devmem.py create mode 100644 tools/testing/selftests/drivers/net/ncdevmem.c delete mode 100644 tools/testing/selftests/net/ncdevmem.c -- 2.46.0 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split 2024-09-12 17:12 [PATCH net-next 00/13] selftests: ncdevmem: Add ncdevmem to ksft Stanislav Fomichev @ 2024-09-12 17:12 ` Stanislav Fomichev 2024-09-14 13:14 ` kernel test robot 0 siblings, 1 reply; 3+ messages in thread From: Stanislav Fomichev @ 2024-09-12 17:12 UTC (permalink / raw) To: netdev; +Cc: davem, edumazet, kuba, pabeni, Mina Almasry In the next patch the hard-coded queue numbers are gonna be removed. So introduce some initial support for ethtool YNL and use it to enable header split. Also, tcp-data-split requires latest ethtool which is unlikely to be present in the distros right now. (ideally, we should not shell out to ethtool at all). Cc: Mina Almasry <almasrymina@google.com> Signed-off-by: Stanislav Fomichev <sdf@fomichev.me> --- tools/testing/selftests/net/Makefile | 2 +- tools/testing/selftests/net/ncdevmem.c | 42 ++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile index 649f1fe0dc46..9c970e96ed33 100644 --- a/tools/testing/selftests/net/Makefile +++ b/tools/testing/selftests/net/Makefile @@ -112,7 +112,7 @@ TEST_INCLUDES := forwarding/lib.sh include ../lib.mk # YNL build -YNL_GENS := netdev +YNL_GENS := ethtool netdev include ynl.mk $(OUTPUT)/epoll_busy_poll: LDLIBS += -lcap diff --git a/tools/testing/selftests/net/ncdevmem.c b/tools/testing/selftests/net/ncdevmem.c index c5b4d9069a83..f5cfaafb6509 100644 --- a/tools/testing/selftests/net/ncdevmem.c +++ b/tools/testing/selftests/net/ncdevmem.c @@ -32,6 +32,7 @@ #include <net/if.h> #include "netdev-user.h" +#include "ethtool-user.h" #include <ynl.h> #define PAGE_SHIFT 12 @@ -191,8 +192,42 @@ static int reset_flow_steering(void) static int configure_headersplit(bool on) { - return run_command("sudo ethtool -G %s tcp-data-split %s >&2", ifname, - on ? "on" : "off"); + struct ethtool_rings_set_req *req; + struct ynl_error yerr; + struct ynl_sock *ys; + int ret; + + ys = ynl_sock_create(&ynl_ethtool_family, &yerr); + if (!ys) { + fprintf(stderr, "YNL: %s\n", yerr.msg); + return -1; + } + + req = ethtool_rings_set_req_alloc(); + ethtool_rings_set_req_set_header_dev_index(req, ifindex); + ethtool_rings_set_req_set_tcp_data_split(req, on ? 2 : 0); + ret = ethtool_rings_set(ys, req); + if (ret < 0) + fprintf(stderr, "YNL failed: %s\n", ys->err.msg); + ethtool_rings_set_req_free(req); + + { + struct ethtool_rings_get_req *req; + struct ethtool_rings_get_rsp *rsp; + + req = ethtool_rings_get_req_alloc(); + ethtool_rings_get_req_set_header_dev_index(req, ifindex); + rsp = ethtool_rings_get(ys, req); + ethtool_rings_get_req_free(req); + if (rsp) + fprintf(stderr, "TCP header split: %d\n", + rsp->tcp_data_split); + ethtool_rings_get_rsp_free(rsp); + } + + ynl_sock_destroy(ys); + + return ret; } static int configure_rss(void) @@ -321,6 +356,9 @@ int do_server(struct memory_buffer *mem) if (reset_flow_steering()) error(1, 0, "Failed to reset flow steering\n"); + if (configure_headersplit(1)) + error(1, 0, "Failed to enable TCP header split\n"); + /* Configure RSS to divert all traffic from our devmem queues */ if (configure_rss()) error(1, 0, "Failed to configure rss\n"); -- 2.46.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split 2024-09-12 17:12 ` [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split Stanislav Fomichev @ 2024-09-14 13:14 ` kernel test robot 0 siblings, 0 replies; 3+ messages in thread From: kernel test robot @ 2024-09-14 13:14 UTC (permalink / raw) To: Stanislav Fomichev, netdev Cc: oe-kbuild-all, davem, edumazet, kuba, pabeni, Mina Almasry Hi Stanislav, kernel test robot noticed the following build warnings: [auto build test WARNING on net-next/main] url: https://github.com/intel-lab-lkp/linux/commits/Stanislav-Fomichev/selftests-ncdevmem-Add-a-flag-for-the-selftest/20240913-011631 base: net-next/main patch link: https://lore.kernel.org/r/20240912171251.937743-11-sdf%40fomichev.me patch subject: [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split :::::: branch date: 2 days ago :::::: commit date: 2 days ago compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409142047.UOZ425m7-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/r/202409142047.UOZ425m7-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from ncdevmem.c:35: >> tools/testing/selftests/../../../tools/net/ynl/generated/ethtool-user.h:23:43: warning: declaration of 'enum ethtool_header_flags' will not be visible outside of this function [-Wvisibility] 23 | const char *ethtool_header_flags_str(enum ethtool_header_flags value); | ^ 1 warning generated. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-14 13:14 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-14 13:05 [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split kernel test robot -- strict thread matches above, loose matches on Subject: below -- 2024-09-12 17:12 [PATCH net-next 00/13] selftests: ncdevmem: Add ncdevmem to ksft Stanislav Fomichev 2024-09-12 17:12 ` [PATCH net-next 10/13] selftests: ncdevmem: Use YNL to enable TCP header split Stanislav Fomichev 2024-09-14 13:14 ` kernel test robot
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.