avatar

Life of a Programmer

`Simplicity is prerequisite for reliability.’ - EWD

Fugu

上周六去了趟锦溪古镇,离淀山湖景区不远。古镇不收门票,当天镇内各大展馆也都免费参观,薅了社会主义羊毛。停车场收费很便宜,加上来回走崧泽高架省

Half Marathon

昨晚跑无氧,意犹未尽,继续撒脚丫子,跑了人生第一个半马。耗时 2:08:30,还行。手表提醒恢复训练需要 79 小时。 最后四公里主要靠意志,特别是最

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, 耳机有声音。 小长假 🔗在外面晃悠了三天