2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-30 22:05:36 +00:00
Andrey Vagin 98efb3c904 tcp: restore the boundary between sent and unsent data
All data in a write buffer can be divided on two parts sent but not yet
acknowledged data and unsent data.

Currently the boundary between sent and unsent data is not dumped and
all the data are restored as if they have already been sent.
This methode can provoke long delays in tcp connection, because a kernel
can wait before retransmitting data.
https://bugzilla.openvz.org/show_bug.cgi?id=2808

The TCP stack must know which data have been sent, because
acknowledgment can be received for them. These data must be restored in
repair mode.

The second part of data have never been sent out, so they can be
restored without any tricks. These data can be sent into socket as
usual.

For restoring unsent data the repair mode is disabled for socket,
but it is enabled back after restoring data. It will be disabled
after unlocking network. In this case window probe is sent, which is
required for waknge the connection.

This patch fixes long delays in tcp connections after dumping and
restoring.

Thanks Pavel for the idea of disabling repair mode for restoring
unsent data.

https://bugzilla.openvz.org/show_bug.cgi?id=2808

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-11-14 17:15:44 +04:00
2013-11-07 16:08:29 +04:00
2013-11-08 17:32:07 +04:00
2013-11-08 16:46:05 +04:00
2013-08-29 14:48:17 +04:00
2012-03-25 23:31:20 +04:00
2013-04-01 12:29:06 +04:00
2013-11-07 15:13:50 +04:00
2012-07-30 13:52:37 +04:00
2013-04-30 20:17:55 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-08-28 19:06:43 +04:00
2013-05-03 01:56:30 +04:00
2013-11-08 16:52:20 +04:00
2013-04-30 18:31:34 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-05-10 11:02:02 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 12:37:38 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-11-06 18:18:12 +04:00
2013-08-28 19:06:43 +04:00
2013-04-05 08:23:17 +04:00
2013-11-07 15:13:50 +04:00
2013-11-06 18:18:12 +04:00

criu
====

An utility to checkpoint/restore tasks.

Some code snippets are borrowed from

 - Linux kernel (http://kernel.org/)
 - git (http://git-scm.com/)
 - kvm-tools (https://github.com/penberg/linux-kvm)
 - ptrace-parasite (https://code.google.com/p/ptrace-parasite/)

Many thanks to these projects.

Licensed under GPLv2 (http://www.gnu.org/licenses/gpl-2.0.txt)
Description
No description provided
Readme 81 MiB
Languages
C 86%
Python 6.1%
Java 2.6%
Shell 2.6%
Makefile 2%
Other 0.7%