- 博客(1061)
- 收藏
- 关注
转载 LWN: 消除 slab 分配中的指针解引用
需要克服的一个小障碍是,struct kmem_cache 的定义对 slab 分配器之外的代码是隐藏的,这有着充分的理由。例如,dentry 结构的缓存是在系统引导过程中创建的,该缓存的 struct kmem_cache 指针以 dentry_cache 的形式存储在引导完成后设为只读的内存中。需要分配或释放 dentry 结构的代码在编译后将包含 dentry_cache 的地址,该地址可用于获取必须传递给 slab 分配器的 kmem_cache 结构的指针。该结构的地址就变成了编译时常量。
2026-01-29 13:58:19
14
转载 LWN:SFC 诉 VIZIO:谁能强制执行 GPL?
在不需要第一部分的情况下(要么是因为诉讼当事人对发生的事情达成一致,要么是因为一方的论点明显无效,导致具体细节变得无关紧要),参与者可以请求法院进行“简易判决”(summary adjudication),即案件法官仅根据法律规定,在不经过审判的情况下决定目前提出的一部分或全部论点的结果。如果她确实裁定 SFC 具备诉讼资格(正如她对 VIZIO 简易判决动议的裁决所言,原则上可能是这样),并且 VIZIO 违反了合同(如她的初步裁决所示),她可以命令 VIZIO 提供完整的源代码。
2026-01-28 15:44:10
14
转载 LWN:Debian 讨论在 forky 中移除 GTK 2
此外,一位业余无线电软件开发者提到,从 GTK 2 迁移到 GTK 3 时遇到了 GNOME 政策驱动的功能删减(如菜单图标),认为 GTK 已逐渐演变为 GNOME 专用工具而非通用图形库,并呼吁建立一个更具通用性的分支。GTK 2 被一些重要的生产力应用程序(如 GIMP)所使用,且在历史上一直是由于我们无法更改的专有软件所青睐的 UI 工具包,因此从 Debian 中完全移除 GTK 2 或许永远都不可行。维护该工具包分支的想法。他还指出,GTK 的后续版本“绝非等效”,且需要根本性的设计变更。
2026-01-27 23:39:53
17
转载 LWN:GPLv2 与安装要求
事实证明,看待“在设备上安装软件”的含义有多种方式。VIZIO 动议的依据是:GPLv2 和 LGPLv2.1 的明确语言,或者作为替代方案,无争议的外部证据,迫使人们得出结论——这两种许可证都没有强迫被许可人提供允许将修改后的软件重新安装回同一设备并使该设备继续正常运行所需的所有信息的义务。正如 FOSS 社区的一位成员 [Bdale Garbee] 所解释的那样,根据 GPLv2,包含获得 GPLv2 许可的计算机程序的设备分发者“必须提供允许将源代码重新编译后的二进制文件重新安装回相关设备的脚本”。
2026-01-25 09:04:23
21
转载 LWN: 使用 OpenZL 实现针对特定格式的压缩
最重要的反馈集中在解压资源约束上:指出在嵌入式或资源匮乏的硬件(如 16 位单片机)中,RAM 和 ROM 的限制往往比压缩率更关键,建议 OpenZL 能在输出中显式标注解压所需的内存和指令空间,以便在极端环境下评估可用性。他比较了广泛使用的“优中之优”压缩算法 (lzma -9),它获得了更好的压缩效果(4.4MB 或 1.64 压缩因子),但速度不足以部署(压缩 2.9MB/s,解压 45MB/s)。“它的定义非常明确”,有一个头部,后面跟着一个由 28 字节结构组成的数组,具有固定的字段和类型。
2026-01-24 12:06:00
25
转载 LWN: READ_ONCE(), WRITE_ONCE(),但不适用于 Rust
在 2025 年的最后一天,Alice Ryhl 发布了一个 patch series (补丁系列),为 Rust 添加了 READ_ONCE() 和 WRITE_ONCE() 的实现。WRITE_ONCE() 则在这些条件下强制进行写入。所以是的,我们在 Rust 中也使用 Linux kernel memory model (Linux 内核内存模型, LKMM),但只要有可能,我们就需要明确 API 的意图,使用 Atomic::from_ptr().load(Relaxed) 在这方面会有所帮助。
2026-01-23 17:25:52
25
转载 LWN:高层级服务质量(QoS)接口
此外,用户对比了 Windows 和 Linux 的系统健壮性,强调即便在极端负载下,系统也应保留足够的 CPU 和内存资源用于鼠标移动和启动终端,以避免用户在遇到失控程序时只能强行重启。它提供了四个 QoS 级别供程序选择:用户交互(user interactive,用于更新程序界面的任务)、用户发起(user initiated,用于用户正在进行的操作)、实用工具(utility,用于应及时发生但不会直接影响用户的任务)以及后台(background,用于对延迟没有特殊要求的任务)。
2026-01-22 13:04:38
24
转载 LWN:创建面向游戏的调度器开发经验
为了证明新的调度策略优于旧策略,“可靠的可重复基准测试绝对是必要的”,但游戏在这方面有所缺失,不像数据库等其他领域拥有标准基准测试。最后,针对难以捕捉的瞬间延迟峰值,评论者引用了“最大值即信号”的观点,建议在出现严重延迟时让内核像处理 panic 一样转储尽可能多的调试信息,而不是将其视为噪声忽略。有用户提出,FreeBSD 让用户态告知内核锁持有者的做法虽然增加了系统调用开销,但或许可以通过每个线程的共享内存来实现,从而让调度器在不进入内核的情况下获益,避免优先级反转。有一些模拟特定负载的微观基准测试;
2026-01-21 15:40:51
47
转载 LWN:安全路径遍历的挑战
这并不是一个新问题。runc 的解决方案是对特殊 i 节点进行更严格的校验,转向使用 libpathrs 进行路径遍历,并使用 TIOCGPTPEER 校验控制台文件是否真的是控制台文件,而不是被悄悄覆盖挂载的普通文件。runc 最近的两个漏洞 CVE-2025-31133 和 CVE-2025-52565,都涉及利用挂载和符号链接诱导 runc 让容器访问 /proc/sys/kernel/core_pattern,这是用于配置内核核心转储 (core-dump) 处理程序的 procfs 文件。
2026-01-19 13:01:18
36
转载 LWN:新年预测
关于发行版的讨论最为激烈,用户认为发行版的核心价值在于软件包的“人工策展”、安全审计以及提供统一受信任的软件源,以避免 Linux 陷入类似 Windows 的软件分发乱象。基于 GCC 的编译器的可用性将使许多人的过渡变得更容易,特别是那些使用基于 LLVM 的 rustc 编译器不支持的体系结构(architecture)的人。同时,*Linux 和自由软件(Free Software)的整体兴趣将会增加* ,这将由受监控担忧、强制升级、不受欢迎的 AI 功能以及不断上涨的硬件价格的共同推动。
2026-01-16 13:23:15
51
转载 LWN: linux-next 的最佳实践
Torvalds 说,这种习惯也会在 linux-next 中引起麻烦,但 Mark Brown 认为,只有在其他人在已变基的仓库基础上进行构建时,变基才会真正成为问题。Jiri Kosina 询问,既然这些仓库应该已经被拉入 linux-next 并在那里进行了构建测试,那么 Torvalds 在提取仓库时遇到的构建问题是如何发生的。当维护者在将提交发送到主线之前对其进行拣选 (cherry-pick) 时,也会产生额外的问题,这使得追踪这些提交在 linux-next 中出现时的状态变得更加困难。
2026-01-15 12:16:00
41
转载 LWN:迈向内核开发中机器学习工具的政策
Steve Rostedt 表示,LLM 生成的代码可能会带来其他工具没有的法律顾虑,但 Greg Kroah-Hartman 回答说,现有的开发者原产地证书 (Developer Certificate of Origin, DCO) 流程(即 Signed-off-by 机制)应该能够涵盖法律方面的问题。在没有人类参与的情况下,纯机器生成的补丁是不受欢迎的。虽然围绕这些工具存在相当多的争议,且担忧依然存在,但内核社区,或者至少是其高层维护者群体,似乎对于这些工具成为开发过程中的重要组成部分感到接受。
2026-01-14 12:41:48
45
转载 LWN:6.19 合并窗口的余下部分
6.19 中有七个新的 kfuncs:__scx_bpf_dsq_insert_vtime()、__scx_bpf_select_cpu_and()、bpf_dynptr_from_file()、scx_bpf_dsq_insert___v2()、scx_bpf_dsq_peek()、scx_bpf_task_set_dsq_vtime() 和 scx_bpf_task_set_slice()。由于每个跟踪点消耗约 5KB 的内存,因此删除那些实际上无用的跟踪点是有价值的。更多信息请参见此合并消息。
2026-01-13 22:39:42
60
转载 LWN: Dirk 与 Linus 秀的第 29 集
他没有在他的系统上做任何特别奇怪的事情,所以发现一个错误表明有人没有很好地测试他们的代码。如果他是第一个发现问题的人,他会对此感到不满,特别是如果代码来自一个在内核社区工作了几十年并且应该更了解情况的人。他说,真正让他生气的是,当开发者不承认他们代码中的问题时。鉴于内核严格的“无回归 (no regressions)”政策,声称一个有缺陷的补丁是可以接受的,因为它修复了另一个错误,这种说法是行不通的。Torvalds 说,既然他“还不是世界的王者”,他就不能为他人制定规则,内核只能接受它。
2026-01-12 09:00:27
44
转载 LWN: BPF 程序状态可视化工具
当验证器拒绝一个 BPF 程序时,它会生成一个包含各种信息的验证日志(verification log):在失败路径上执行的确切 BPF 指令(BPF instructions)、对任何内核函数(kernel functions)或 BPF 子程序(BPF subprograms)的调用、程序调试信息中的行号,以及关于不同寄存器(registers)和栈槽(stack slots)内容的信息。”他们只针对最新的内核版本进行测试,但实际上验证器的日志格式相当稳定,因此它应该适用于“大多数现代版本”的内核。
2026-01-10 07:00:22
50
转载 LWN: BPF 中的验证器状态剪枝
另一位观众成员插话澄清说,Linux 实现确实在一个特定地方进行了泛化:在循环的第二次迭代 (second iteration of a loop) 中,如果一个值没有被标记为精确的,它就会被泛化(即,验证器假定该寄存器或栈槽可以取任何值)。因此,如果两个状态除了活跃寄存器或栈槽中的值外是等效的,但该值从未以需要验证器关注的方式使用,那么该状态就可以安全地剪枝。Tardy 说,理论上,如果当前状态是保存状态可能值的一个子集(特别是如果它们都在程序的同一位置出现),那么两个状态就是等效的。
2026-01-09 19:51:31
52
转载 LWN: 内核 high mem 淘汰时间表!
任何安装了超过 2GB 内存的 32 位系统,如果没有高内存抽象,实际上无法使用这些内存。即使是较小量的内存,如果不支持,也会如上所述,通过减小用户空间地址空间的大小来实现,这会破坏使用大量虚拟内存的应用程序。他还建议了一个配置选项,只使用低内存(low memory),即使在支持高内存的系统上,直到内存不足(out-of-memory)情况迫使也使用高内存。这将允许在不使用高内存的情况下支持高达近 4GB 物理内存的系统,并解决许多问题,但此选项从未被推到实际可用的程度,现在也没有人为此工作提供资金。
2026-01-09 14:47:13
66
转载 LWN: 2025 年回顾
帮助我们实现这一目标并普遍惠及 LWN 的最佳方式是务必订阅,或者更好的是,让您的雇主购买团体订阅。我们这边,我们将一如既往地做我们一直在做的事情:努力为我们的社区提供最好的报道。美国国内的变化,除其他外,几乎保证在一段时间内很少有重要的技术会议会在那里举行——而且许多在美国工作的人将因害怕无法返回而无法参加其他地方的活动。今年,我们的保险提供商通知我们,这项保险的费用将增加 14%——这只是连续两位数增长中的又一次。这一事件再次清楚地表明,除非付出明显的努力来保存,否则互联网上的历史是短暂的。
2026-01-08 13:37:06
67
转载 LWN: 内核更好的开发工具
Ryabitsev 说,内核的 bugzilla 服务器“半死不活”,而且已经好几年了。他说,如果移除 bugzilla 服务器,他会找到一种方法保留现有的历史记录,但将无法创建新的条目。他说,如果有人想让 kernel.org 下线,他们很可能会成功,但开发者手头有所有需要的本地副本,仍能继续工作。Torvalds 说,他从拉取请求跟踪器(pull-request tracker)收到的电子邮件在五分钟内就能到达,他很喜欢这一点,但来自 Patchwork 的电子邮件可能需要几天时间。
2026-01-07 13:08:03
62
转载 LWN: 内核 Rust 实验的现状
关于将核心内核(core-kernel)对 Rust 代码的依赖性,Airlie 表示,这在未来一两年内不应该发生。Kroah-Hartman 说,他曾担心核心内核和 Rust 驱动程序之间的交互,但发现交互比他预期的少得多。Ojeda 说他已经调查过,认为它应该可以工作,但他不知道目前的状况。Ojeda 总结说,用 Rust 工作的能力成功地吸引了新的开发者和新的维护者,这是该项目最初的目标之一。他说,更重要的消息是,运行 6.12 内核的 Android 16 系统正在搭载 Rust 编写的。
2026-01-06 12:57:01
78
转载 LWN: 2025 年维护者峰会开发流程讨论
会议分为两个环节,一个关于延续性和继任计划,另一个则是 Linus Torvalds 牵头,围绕社区当前面临的痛点进行的传统讨论。开发人员的抱怨并不多,现在也已经有了更明确的计划,以应对 Torvalds 突然无法履行其职责的情况。在最可能的情况下,Torvalds 最终会决定离职,并安排与他的继任者进行平稳的过渡。之后,将在整个社区发布以供讨论。更严肃地说,他指出人们确实担心,如果 Torvalds 遭遇不测,而又没有指定继任者,可能会发生什么,因此他想探讨一种潜在的方法来解决这些担忧。
2026-01-05 13:30:23
70
转载 LWN:迈向高效的、容器化的用户空间文件系统!
虽然大多数文件系统通常对损坏的镜像具有鲁棒性,但恶意的损坏(malicious corruption)则是另一回事,大多数文件系统开发者在防范这种情况上投入的精力有限。这些操作对应于上述的两个回调函数,允许用户空间文件系统在内核中构建一个 I/O 映射,然后内核可以使用该映射直接执行许多 I/O 操作,而无需进一步涉及用户空间服务器。如果他的成果在更广泛的使用中得到验证,发行商和系统集成商可能会开始销售带有 FUSE 实现文件系统的系统,这将是 Linux 系统自诞生以来工作方式的一个重大改变。
2025-11-25 13:25:02
149
转载 LWN:unstable pages 和 direct I/O 的碰撞!
2025年5月,Qu Wenruo 发布了一个补丁(patch),描述了当用户空间(user space)对启用校验和的Btrfs文件系统执行直接I/O,然后在I/O进行中修改其缓冲区时出现的问题。在这些情况下,对I/O中的页进行一次时机不当的更改,可能导致I/O错误(I/O errors)或数据损坏(data corruption)。如前所述,稳定页不适用于直接 I/O,因此,在底层块设备需要稳定页的情况下,Hellwig 的补丁会导致 XFS 回退到缓冲 I/O,即使已经请求了直接 I/O。
2025-11-24 13:28:21
123
转载 LWN:优化小文件反复读取性能的艰难之路!
Hugh Dickins 表达了同样的观点,但 Torvalds 表示,页缓存的其他部分会做“*更*可怕的事情”,而且将已知工作负载的性能提高三倍不一定是“小众”的。正如 Shutsemau(也被称为 Kirill Shutemov)在这个相对较短的补丁的更新日志(changelog)中解释的,执行文件读取的一个步骤是找到页缓存(page cache)中相关的 folio(页帧),并获取该 folio 的引用,以确保在数据复制回用户空间(user space)时其保持稳定。否则内核将回退到较慢的路径。
2025-11-19 13:24:25
152
转载 LWN:Mergiraf: 语法感知加持git合并!
这些事实被标记为是来自合并的基础版本(base revision)、左侧版本(left revision)还是右侧版本(right revision)(即最近的共同祖先、被合并到的提交和正在合并的提交)。无论哪种方式,合并后的程序行为都相同。另一方面,这并不是在 C 语言中解决同等合并冲突的正确方法,因为在 C 语言中,结构体成员的顺序会影响程序的正确性。但很少有人喜欢遇到合并冲突,而那些能够智能地解决它们——尤其是那些对人类来说显而易见,因而处理起来是浪费时间的冲突——的工具,是一个很有吸引力的前景。
2025-11-18 13:37:05
134
转载 LWN:用 Rust 实现 DebugFS!
因此,如果有人试图利用他的技巧创建一个指向存在的类型但无法构造该类型的值的指针,他们就可能破坏 Rust 的类型系统——这就是为什么辅助函数是 `unsafe` 的原因。Gary Guo 指出了 Maurer 编写的(unsafe)代码的一个潜在问题,该代码将函数类型转换回实际函数指针:虽然它对于函数类型是正确的,但尝试将其用于其他零大小类型可能会导致未定义行为(undefined behavior),因为它没有确保检查类型的内部不变量(internal invariants)。对这个解释的反应褒贬不一。
2025-11-03 13:31:58
234
转载 LWN:LLM 用在 patch review 上!
然而,Bird 说,应该期望提交者运行这些工具。Sasha Levin 称其为 "一个非常值得讨论的话题",并表示,在 之前关于内核开发者使用 LLM 的讨论 中,对 LLM 提出的担忧盖过了任何寻找其潜在有用之处的尝试。Mason 的重点是 LLMs 如何通过在错误到达邮件列表之前将其捕获,并帮助贡献者提高提交内容的质量,从而减轻内核维护者的负担。为此,他整理了一组 提示词,这些提示词能够生成维护者所习惯的评审格式:“这些评审旨在看起来像 lkml 上的邮件,即使它们错得离谱,也确实达到了这个目的。
2025-10-30 13:24:50
345
转载 LWN:中断感知自旋锁的新API!
C 语言中现有的 irq-safe 自旋锁使用 `spin_lock_irq()`/`spin_unlock_irq()` 或 `spin_lock_irqsave()`/`spin_lock_irqrestore()`,具体取决于代码是否期望在中断启用(interrupt-enabled)的上下文中运行。冯伯群提出的方法很好地使 Rust 代码能够与中断感知自旋锁交互,但它还能实现另一个小的 API 更改:Rust 可以拥有一个单独的守卫类型,用于在非自旋锁原因下启用和禁用(per-CPU)中断。
2025-10-28 13:33:14
380
转载 LWN:内核开发即将支持哪些 Rust 语言特性!
由于 Rust for Linux 开发者希望使用自定义智能指针来处理不可信数据(untrusted data)、引用计数(reference counting)、外部锁(external locking)以及相关的内核复杂性,因此他们将受益于一个通用的语言特性,该特性允许所有指针类型使用相同语法进行字段投影。内有效的指针类型,投影一个字段会得到一个包裹了该结构体字段的(可能不同的)输出指针类型,且在相同的生命周期内有效。在 Rust 中,类型上的方法可以将类型本身的实例作为第一个参数,也可以是其引用。
2025-10-20 13:29:26
591
转载 LWN:关于 link tag 的规则!
仓库中的提交(commits)通常是(有时是漫长的)讨论的最终结果;多年来,许多维护者一直遵循一个惯例,即在提交中应用一个 Link 标签,指向该变更在邮件列表上的发布。核心问题始终未变:他不喜欢当他循着 Link 标签中的 URL,希望了解更多有关该变更的信息时,却只发现变更日志(changelog)中已有的相同信息。(值得注意的是,Gleixner 建议的另一部分——即每当补丁系列(patch series)更新时都包含一个指向之前发布的链接——尚未被广泛采纳,尽管许多开发人员确实包含了这些链接。
2025-09-30 13:30:00
964
转载 LWN:建立健康的内核子系统社区!
对于经验丰富的开发者,吹毛求疵或许有道理,但对于新来者,目标应该是给他们“那种‘是的,我的第一个补丁已经合并到主线(mainline)了’的微小鼓舞;你想要让他们上钩”。他澄清说,如果一个补丁在逻辑(logic)或实现(implementation)上有实际问题,他会要求修改,但对于简单的拼写错误(typo)之类的修复,最好直接处理。他知道其他维护者(maintainer)的做法不同,但在他看来,这样做可以节省维护者的时间,避免上下文切换(context switch)并再次(甚至可能多次)进行评审。
2025-09-26 13:32:25
1064
转载 LWN:kernel 的新工具 wprobes, KStackWatch, KFuzzTest!
local_var_offset 和 local_var_len 参数指示了要监控的栈上特定变量的位置和大小,表示为从进入函数时栈指针(stack pointer)的偏移量。然而,该数据的格式并不简单。这项功能在内核环境中可能特别有用,因为内核中同时发生着许多事情,而问题的根源可能存在于一个庞大而复杂的系统中的任何位置。然而,这种测试都是从用户空间运行的,因此它能锻炼的代码受限于内核的用户空间 API。内核所拥有的功能是 kprobe(内核探测点),它允许在运行中的内核中(几乎)任何位置放置调试代码。
2025-09-25 13:37:48
1133
转载 LWN:内核有多少种配置?
例如,可以使用 Z3 的 Python 绑定来加载 klocalizer 的输出,并探索选项之间的相互关系。如果配置选项是独立的,那么理论上只需测试一个所有功能都启用的内核和一个所有功能都禁用的内核就足够了。请注意,这个结果仍然是对数尺度的,所以这个值是由不同选项之间的依赖关系所排除的内核配置方式数量的对数。面对如此多的配置选项,即使要弄清楚哪些选项是多余的、未使用的,或者可以通过简化来处理的,也可能很困难。,但在本例中,内核配置中的约束足够简单,一个名为 ganak 的精确计数器能够准确地解决这个问题。
2025-09-24 13:35:36
1081
转载 LWN:可以处理复杂死锁检测的依赖跟踪机制!
每当一个线程获取一个锁时,lockdep 都会记住这次获取,以及当时的上下文——特别是,当时持有的任何其他锁。像 DEPT 这样的工具可能很有用且受欢迎,但它需要以一系列较小的更改形式进入主线(mainline),逐步将 lockdep 演进为具有 DEPT 依赖观念的工具,从而让内核在每一步都变得更好。在上面的例子中,A 的释放取决于事件 B 的发生,而事件 B 又取决于 C 的释放,C 的释放本身又取决于 A 的释放。他总结道,在死锁场景比 lockdep 能处理的更复杂的情况下,应该使用 DEPT。
2025-09-22 13:05:42
1130
转载 LWN:用 Rust 在内核跟踪数据可信度!
Lossin 建议采用这种形式的 API,因为将 `&mut Untrusted<[u8]>`(一个对不可信字节切片的可变引用)转换为 `&mut [Untrusted<u8>]`(一个对单独不可信字节切片的可变引用)可以自动完成——由于 `Untrusted` 的 `DerefMut` 实现,编译器会在需要时插入转换——但反向转换则需要显式的函数调用。对于自定义类型 `T`,`Validate<S>` 的实现包含了将 `Untrusted<S>` 转换为普通 `T` 所需的逻辑。
2025-09-16 13:29:06
1178
转载 LWN:kernel 未来如何对待32-bit支持?
Bergmann 已发送补丁以移除对 32 位 CPU 上的 KVM (Kernel-based Virtual Machine) 支持,但仍有“一个 PowerPC 用户”,因此该支持目前将保留。然而,这样的系统极其罕见,对它们的支持很快就会被移除。不过,这些系统也有一些用例。对于 x86 支持,他查看了大量旧网页,列出了哪些系统存在,然后指出这些系统中的每一个都因其他原因而在当前内核中已经无法正常工作;鉴于 Bergmann 是内核架构支持的整体维护者,他经常被问及是否可以移除对 32 位系统的支持。
2025-09-15 13:30:03
1236
转载 LWN:极其小巧的Microdot web framework!
例如,他恒温器设备中的 ESP8266 拥有 64KB 的 RAM (随机存取存储器) 和高达 4MB 的 flash (闪存)。根据统计,Django 有 110,000 行,Flask 加上其核心 Werkzeug library (库) 有 15,500 行,FastAPI 加上 Starlette 有 14,900 行,Bottle 约有 3,000 行,而 Microdot 核心只有 765 行(“信不信由你”),在 MicroPython 上安装所有扩展后,总代码行数略低于 1,700 行。
2025-09-08 13:36:04
1362
转载 LWN:用 clone3() 控制影子堆栈!
影子栈 (shadow stack) 是一种控制流完整性 (control-flow-integrity) 功能,旨在防御通过操纵线程的调用栈 (call stack) 来进行的攻击。虽然调用栈上会压入相当多的信息——例如局部变量 (local variables) 和保存的寄存器 (saved registers)——但影子栈只保存返回地址,因此相同大小的影子栈很可能对线程来说过于庞大。每当一个新的线程产生时,内核都会根据其常规栈的大小,为其分配一个相同大小的影子栈,作为对正确大小的最佳猜测。
2025-09-04 13:25:52
1432
转载 LWN:6.17 合并窗口的后半部分!
网络*:Qualcomm IPQ5018 内部 PHY、Airoha AN7583 MDIO 总线控制器、Broadcom 50/100/200/400/800 千兆以太网卡、Microchip Azurite DPLL/PTP/SyncE 设备以及 Realtek 8851BU 和 8852BU USB 无线网络 (Wi-Fi 6) 适配器。供电设备 (PSE) 实现增加了对可配置预算评估策略的支持,这些策略“被 PSE 控制器用于在功率预算超出等情况下决定首先关闭哪些端口”。详情请参阅 此合并消息。
2025-08-26 13:19:46
1719
转载 LWN:讨论内核开发中使用 LLM 助手!
目前,关于基于大型语言模型(LLM)的工具如何融入内核开发社区,存在着许多持续的讨论。Levin 的 观点 是,内核目前的策略是“我们接受代理生成(agent generated)的贡献,除了对普通人类的要求外,没有任何其他要求”;因此,如果没有这样的策略(policy),我担心仅仅合并这些补丁本身就会传递出一个信息,即内核现在正式接受使用编程助手完成的贡献,并且这些助手会根据配置文件(configuration files)做正确的事情,而使用助手的开发者无需再操心其他事情,因为一切都已由配置涵盖。
2025-08-21 13:39:31
1722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅