criu/images
Pavel Tikhomirov e69be16db7 sockets: c/r bufer size locks
When one sets socket buffer sizes with setsockopt(SO_{SND,RCV}BUF*),
kernel sets coresponding SOCK_SNDBUF_LOCK or SOCK_RCVBUF_LOCK flags on
struct sock. It means that such a socket with explicitly changed buffer
size can not be auto-adjusted by kernel (e.g. if there is free memory
kernel can auto-increase default socket buffers to improve perfomance).
(see tcp_fixup_rcvbuf() and tcp_sndbuf_expand())

CRIU is always changing buf sizes on restore, that means that all
sockets receive lock flags on struct sock and become non-auto-adjusted
after migration. In some cases it can decrease perfomance of network
connections quite a lot.

So let's c/r socket buf locks (SO_BUF_LOCKS), so that sockets for which
auto-adjustment is available does not lose it.

Reviewed-by: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
2022-04-28 17:53:52 -07:00
..
google/protobuf build: Move @protobuf dir into @images 2016-02-15 15:32:27 +03:00
apparmor.proto lsm: support checkpoint/restore of stacked apparmor profiles 2021-09-03 10:31:00 -07:00
autofs.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
binfmt-misc.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
bpfmap-data.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
bpfmap-file.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
cgroup.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-aarch64.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-arm.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-mips.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-ppc64.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-s390.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-x86.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
cpuinfo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
creds.proto lsm: support checkpoint/restore of stacked apparmor profiles 2021-09-03 10:31:00 -07:00
eventfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
eventpoll.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ext-file.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fdinfo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fh.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fifo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
file-lock.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fown.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fs.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fsnotify.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ghost-file.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
img-streamer.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
inventory.proto inventory: save network lock method to reuse in restore 2021-09-03 10:31:00 -07:00
ipc-desc.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-msg.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-sem.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-shm.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-var.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
LICENSE images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
macvlan.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
Makefile lsm: support checkpoint/restore of stacked apparmor profiles 2021-09-03 10:31:00 -07:00
memfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
mm.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
mnt.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
netdev.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
opts.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
packet-sock.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pagemap.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pidns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pipe-data.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pipe.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pstree.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
regfile.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
remap-file-path.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
rlimit.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
rpc.proto cr-service: add network_lock option to RPC and libcriu 2021-09-03 10:31:00 -07:00
sa.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
seccomp.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
siginfo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
signalfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sit.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-inet.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-netlink.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-opts.proto sockets: c/r bufer size locks 2022-04-28 17:53:52 -07:00
sk-packet.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-unix.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
stats.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sysctl.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
tcp-stream.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
time.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
timens.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
timer.proto criu: dump and restore notify_thread_id of posix timer 2021-09-03 10:31:00 -07:00
timerfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
tty.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
tun.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
userns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
utsns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
vma.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00