[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240701225349.3395580-1-zijianzhang@bytedance.com>
Date: Mon, 1 Jul 2024 22:53:47 +0000
From: zijianzhang@...edance.com
To: netdev@...r.kernel.org
Cc: willemdebruijn.kernel@...il.com,
cong.wang@...edance.com,
xiaochun.lu@...edance.com,
Zijian Zhang <zijianzhang@...edance.com>
Subject: [PATCH net 0/2] fix OOM and order check in msg_zerocopy selftest
From: Zijian Zhang <zijianzhang@...edance.com>
In selftests/net/msg_zerocopy.c, it has a while loop keeps calling sendmsg
on a socket with MSG_ZEROCOPY flag, and it will recv the notifications
until the socket is not writable. Typically, it will start the receiving
process after around 30+ sendmsgs. However, as the introduction of commit
dfa2f0483360 ("tcp: get rid of sysctl_tcp_adv_win_scale"), the sender is
always writable and does not get any chance to run recv notifications.
The selftest always exits with OUT_OF_MEMORY because the memory used by
opt_skb exceeds the net.core.optmem_max. Meanwhile, it could be set to a
different value to trigger OOM on older kernels too.
Thus, we introduce "cfg_notification_limit" to force sender to receive
notifications after some number of sendmsgs.
And, we find that when lock debugging is on, notifications may not come in
order. Thus, we have order checking outputs managed by cfg_verbose, to
avoid too many outputs in this case.
Zijian Zhang (2):
selftests: fix OOM in msg_zerocopy selftest
selftests: make order checking verbose in msg_zerocopy selftest
tools/testing/selftests/net/msg_zerocopy.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
--
2.20.1
Powered by blists - more mailing lists