Re: [PATCH v2 1/2] udp: UDP socket send queue repair
From: avagin@gmail.com <hidden>
Date: 2021-08-17 16:30:07
Also in:
lkml
On Fri, Aug 13, 2021 at 01:00:12PM +0000, David Laight wrote:
From: Bui Quang Minhquoted
Sent: 13 August 2021 12:08...quoted
The reason we want to dump the packet in send queue is to make to state of the application consistent. The scenario is that when an application sends UDP packets via UDP_CORK socket or with MSG_MORE, CRIU comes and checkpoints the application. If we drop the data in send queue, when application restores, it sends some more data then turns off the cork and actually sends a packet. The receiving side may get that packet but it's unusual that the first part of that packet is missing because we drop it. So we try to solve this problem with some help from the Linux kernel.Patient: It hurts if I do xxx. Doctor: Don't do xxx then. It has to be more efficient to buffer partial UDP packets in userspace and only send when all the packet is available.
You are right. It can be more efficient, but we don't have controls over user-space processes, and they can do whatever the kernel allows them to do.
David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)