From: Bui Quang Minh
Sent: 13 August 2021 12:08
...
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.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)