ILD

file mtime update granularity
2025-12-10
众所周知,mtime是文件的最后修改时间,Time of last modification在我们的一个项目中,使用mtime判断一个文件是否修改。缓存上一次的mtime,结果出现了文件修改了,但是mtime没变的情况。出现了bug。经过研究发现,两次极短的写入,mtime不会变化。写一个demo验

systemd-resolved set default route
2025-12-16
最近写了个vpn,但是发现google.com.hk概率性打不开。chrome开启secure dns后可以打开,firefox大概率打不开。最终分析是dns污染导致的。fedora默认使用systemd-resolved服务。它默认会使用所有interface的dns server。将tun0的d

Linux zero copy API: copy_file_range()
2025-12-24
1 历史copy_file_range()的函数原型如下: ssize_t copy_file_range(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out,

Linux zero copy API: sendfile() & splice()
2025-12-25
上一篇,学习了copy_file_range()的历史,以及内部原理,同时还提到了和sendfile()的差异。本篇学习另外2个实现零拷贝的系统调用sendfile()和splice()。简介sendfile()的函数原型【1】ssize_t sendfile(int out_fd, int in_

neon c api
2026-1-14
最近在做图片CLIP搜索的时候,需要计算两个向量的余弦相似度[1],它的本质,是需要计算两个浮点数数组的点乘。这种场景可以用neon的向量运算来加速。arm_neon.h在aarch64架构上,gcc提供了这个头文件,提供了相关的接口来直接使用neon的能力。在sqlite-vec等向量搜索插件的源

sqlite mode and concurrency
2026-1-28
最近的nas项目中,开发的相册模块,使用sqlite存储用户数据,包括相册、照片等信息。然而在使用中碰到了sqlite的很多坑。主要是写入和读取速度的问题。1 写完关闭连接想着写入不是频繁的操作,写完关闭数据库,这样可以节省内存,但是发现这种情况效率非常之低,可能1s只能写入几条数据。strace发

database fragmentation and vacuum
2026-1-30
最近的项目中,出现数据库搜索很慢,本地确没有问题,上去分析发现,数据库文件碎片化了。由于数据库是放在磁盘上的,碎片化之后,遍历数据库就相当于随机访问磁盘,速度就很慢。使用filefrag命令查看碎片化:$ filefrag u3049499598-7cb394645c881238-v0.dbu304

qemu share directory with host
2026-2-2
使用qemu的9pfs,可以将一个host中的目录共享给qemu guest。底层设备是:virtio-9p传输协议是:9P network protocol。开启的内核选项:CONFIG_NET_9PCONFIG_NET_9P_VIRTIOCONFIG_9P_FS启动qemu,添加:-virtfs

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.