public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
* [PATCH 0/6] RFC: Possible fixes for bug 94 and bug 95
@ 2024-09-06  5:17 David Gibson
  2024-09-06  5:17 ` [PATCH 1/6] flow: Fix incorrect hash probe in flowside_lookup() David Gibson
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: David Gibson @ 2024-09-06  5:17 UTC (permalink / raw)
  To: passt-dev, Stefano Brivio; +Cc: David Gibson

As discussed on IRC through the last day, here's a more polished
version of possible fixes for bug 94 (EPOLLRDHUP storm) and bug 95
(EPOLLERR storm).  Both of those were sub-problems arising while
investigating podman bug 23686.

We're pretty confident about the EPOLLRDHUP fix (bug 94, patch 1/6),
based on Stefano's testing.  I ended up rewriting Stefano's draft
patch for the EPOLLERR case (bug 95, remaining patches), because I
thought of a possibility we hadn't discussed yet: we weren't getting
an error from the socket error queue, but we might be able to get one
with the SO_ERROR getsockopt().  My examination of the kernel code
suggests that's plausible, and that if that's the case using SO_ERROR
should also clear that error condition.

Link: https://bugs.passt.top/show_bug.cgi?id=94
Link: https://bugs.passt.top/show_bug.cgi?id=95
Link: https://github.com/containers/podman/issues/23686

David Gibson (6):
  flow: Fix incorrect hash probe in flowside_lookup()
  udp: Allow UDP flows to be prematurely closed
  flow: Helpers to log details of a flow
  udp: Split socket error handling out from udp_sock_recv()
  udp: Treat errors getting errors as unrecoverable
  udp: Handle more error conditions in udp_sock_errs()

 flow.c     | 53 ++++++++++++++++++++------------
 flow.h     |  7 +++++
 udp.c      | 88 +++++++++++++++++++++++++++++++++++++++++++++---------
 udp_flow.c | 18 ++++++++++-
 udp_flow.h |  4 +++
 5 files changed, 136 insertions(+), 34 deletions(-)

-- 
2.46.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-09-06 11:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-06  5:17 [PATCH 0/6] RFC: Possible fixes for bug 94 and bug 95 David Gibson
2024-09-06  5:17 ` [PATCH 1/6] flow: Fix incorrect hash probe in flowside_lookup() David Gibson
2024-09-06  5:17 ` [PATCH 2/6] udp: Allow UDP flows to be prematurely closed David Gibson
2024-09-06  5:17 ` [PATCH 3/6] flow: Helpers to log details of a flow David Gibson
2024-09-06  5:17 ` [PATCH 4/6] udp: Split socket error handling out from udp_sock_recv() David Gibson
2024-09-06  5:17 ` [PATCH 5/6] udp: Treat errors getting errors as unrecoverable David Gibson
2024-09-06  5:17 ` [PATCH 6/6] udp: Handle more error conditions in udp_sock_errs() David Gibson
2024-09-06 11:29 ` [PATCH 0/6] RFC: Possible fixes for bug 94 and bug 95 Stefano Brivio

Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).