0%

Background

criu带有参数--tcp-established恢复进程时,报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(02.120130)  46208: open file flags:1
(02.120136) 46208: inet: Restore: family AF_INET type SOCK_STREAM proto IPPROTO_TCP port 41810 state TCP_CLOSE_WAIT src_addr 127.0.0.1 dst_addr 127.0.0.1
(02.120163) 46208: sockets: Binding socket to lo dev
(02.120168) 46208: tcp: Restoring TCP connection
(02.120174) 46208: tcp: Restoring TCP connection id 2a2 ino 1c13a
(02.120190) 46208: Debug: Setting 1 queue seq to 238346158
(02.120197) 46208: Debug: Setting 2 queue seq to 3717721167
(02.120210) 46208: Debug: Restoring TCP options
(02.120215) 46208: Debug: Will turn SAK on
(02.120221) 46208: Debug: Will set snd_wscale to 7
(02.120227) 46208: Debug: Will set rcv_wscale to 7
(02.120233) 46208: Debug: Will turn timestamps on
(02.120238) 46208: Debug: Will set mss clamp to 65495
(02.120245) 46208: Debug: Restoring TCP 1 queue data 1078 bytes
(02.122296) 46208: Error (soccr/soccr.c:690): Unable to send a fin packet: libnet_write_raw_ipv4(): -1 bytes written (Operation not permitted)
(02.122329) 46208: Error (criu/files.c:1372): Unable to open fd=469 id=0x2a2
(02.555720) Error (criu/cr-restore.c:1634): 46208 killed by signal 9: Killed
Read more »

Background

$ ip link能够显示网卡(netdev)的名称,曾经,它的前缀是ethwlan,现在有的是enp,有的是ens,也有eth的。研究了下导致上述现象的原因。

Histroy, and Systemd Strategy

Read more »

Background

这段时间的工作涉及x86 CPU的早期启动,参与了几个与此有关的bugfix,涉及到的问题:

  1. 在没有日志信息的情况下,怎么利用寄存器的状态确定CPU运行到了哪种状态
  2. smp init / shutdown的细节
  3. INIT, SIPI对CPU的影响
  4. kexec-tools载入image时的内存布局
  5. image early bootstrap时的内存布局
Read more »

迫于Linux eBPF文档过少,我边学习边把对其的理解记录下来,供后来者参考。
本文是eBPF系列的第四篇:eBPF与CO-RE。

Introduction

Read more »

迫于Linux eBPF文档过少,我边学习边把对其的理解记录下来,供后来者参考。
本文是eBPF系列的第三篇:eBPF map。

Introduction

Read more »

Note: 如果有理解错误的地方,欢迎指正,我的邮箱 river#vvl.me

Introduction

Linux存在众多tracing tools,比如ftrace、perf,他们可用于内核的调试、提高内核的可观测性。众多的工具也意味着繁杂的概念,诸如tracepoint、trace events、kprobe、eBPF等让人头大,让人搞不清楚他们到底是干什么的。本文尝试理清这些概念。

Read more »

Background

Linux Kernel的代码中存在一些异常检测、日志输出相关的API,也存在用于debug字段的内核参数。本文聚焦:

  1. 编译时用于静态检查API的种类与作用
  2. 运行时日志输出类的API与相关的内核参数
Read more »