从Linux 6.6恢复后修改的多粒度时间戳

2023年 10月 19日 26.2k 0

多粒度(ed)时间戳
提交用于Linux 6.6
以更好地处理NFS,在NFS中,每一瞬间一次的粗粒度时间戳不足以验证缓存。多粒度时间戳试图通过在需要时选择性地允许更细粒度的时间戳来解决这一问题,但由于更大的开销成本,不在任何地方使用更细粒度。不过这个功能
几周后被恢复
由于细微的漏洞被发现。现在,尽管发布了一个新的redux补丁系列,以提供对多粒度时间戳的另一次尝试。

Jeff Layton今天发布了更新的nulti粒度时间戳补丁。关键的变化是解决在Linux 6.6中短时间内从该代码中发现的缺点:

“v6.6的原始多粒度时间戳合并必须恢复,因为具有粗粒度时间戳的文件可能会被错误地显示为在具有细粒度时间戳的文档之前被修改,而事实并非如此。

这个修订版解决了这个问题,使其在分发细粒度时间戳64时,该值成为进一步获取粗粒度时间戳64的下限。这需要新的timekeeper接口,但有一个潜在的缺点:当文件带有细粒度的时间戳时,它必须(短暂地)使用全局timekeeper自旋锁。

正因为如此,这个集合尽可能地避免发布新的细粒度时间戳。现在,只有在获取了getattr的当前mtime或ctime,并且下一个粗粒度tick还没有发生时,才需要细粒度的时间戳。对于任何其他情况,粗粒度的时间戳都是可以的,这是使用seqcount完成的。“

这些
新修补程序
for multi-grained timestamps have been posted under a "request for comments" flag, so we'll see what other upstream Linux kernel stakeholders think of its improvements and if it ends up being enough to get it re-landed into the mainline Linux kernel in the near-term.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论