avatar

Life of a Programmer

`Simplicity is prerequisite for reliability.’ - EWD

Strange Latency Issue

最近碰到一个奇怪的问题。有个多线程应用,其中一个线程中的伪代码如下: gettimeofday(&begin, NULL); foo(); // 同步过程调用 gettimeofday(&end, NULL); usleep(N); 其中,end-begin 得到 foo() 的耗时 T. 目前可以

Learning by Tracing

用 bpftrace 跟踪一个 Direct I/O 在 polling 和非 polling 模式下的处理逻辑。为了减少无关的 I/O 干扰,限定了 comm == "a.out" – 这个 a.out 是我的测试程序。 内核是 4.18, 关键代码相对比较好找,在 fs/block_dev.c: static void

Ramblings - 2

Audio + Headphones 🔗不知道是 6.1 的哪个内核小版本开始,重启之后再也不用重新插拔一下耳机。如果耳机插着的情况下,外放会 mute, 耳机有声音。 小长假 🔗在外面晃悠了三天

Ramblings

目标和松弛 🔗25 号中午跑完一次艰苦的无氧后,本月跑量达到了 92.2 公里,距离之前的 100.4 公里最好记录仅一步之遥。然而这几天没有一鼓作气,训练状态从 Productive 到

Recovery Heart Rate

最近发现跑步记录里多了一个“恢复心率”指标。根据定义:这个指标是运动后两分钟,心率降低的数值。比如,刚运动完是140, 休息两分钟后是 90,那