当前位置:首页>Linux>Linux 内核调度子系统周报(2026 W32)

Linux 内核调度子系统周报(2026 W32)

  • 2026-08-20 08:03:30
Linux 内核调度子系统周报(2026 W32)

Linux 内核调度子系统周报(2026-08-03 ~ 2026-08-09)

本期重点

  1. 1. sched_ext core scheduling 自 v6.19 起的损坏得到修复——Tejun Heo 的 6 补丁系列修复 4c95380701f5(把 balance_scx() 折进 pick_task_scx())引入的回归:dispatch 在 ->pick_task() 内执行并释放 rq 锁,同核的 core-wide selection 因此交错、互相破坏状态。主修复让 core-sched pick 在 dispatch 释放过 rq 锁时返回 RETRY_TASKCc: stable # v6.19+
  2. 2. sched_ext v7.2-rc6 修复批次合入主线——GIT PULL 把上几期报过的 sub-scheduler 生命周期修复(never-linked UAF、非 ext 任务收到 enable callback、disallow 策略被改写)、cgroup lock 三方死锁、WAKE_SYNC 下 waker CPU 未标 busy、numa test 亲和性变化等修复带入 v7.2-rc6。
  3. 3. 修复 schedutil boost 频率无法到达的问题——schedutil governor 把固定锚点 capacity_freq_ref 用作 map_util_freq() 的参考频率,而该函数恰好在 capacity_freq_ref 处饱和,导致 cpufreq boost 开启后实际频率到不了 boost 区间。
  4. 4. idle CPU 状态初始化系列合入 for-7.3——Andrea Righi 的系列修复 idle mask 初始化把所有在线 CPU 标 idle、但 idle tracking 延迟到 sched_ext 完全启用才启动的问题(busy CPU 在此期间被误报为 idle),本周经 v3→v4 被 Tejun Heo apply,补丁标题改为"Initialize idle masks as busy"。
  5. 5. schedutil rate_limit_us 在 32 位系统溢出——rate_limit_us 是 unsigned int,32 位系统上乘 NSEC_PER_USEC 时按 32 位算术运算,写 4294968 会把 delay 从 4294968000 ns 回绕到 704 ns。

一、核心进展

sched_ext:core scheduling 修复

[1]

sched_ext 的 core scheduling 支持自 4c95380701f5 ("sched/ext: Fold balance_scx() into pick_task_scx()") 起损坏。这次 fold 把 dispatch 放到 ->pick_task() 内部执行,而 dispatch 会释放 rq 锁,于是同核上的 core-wide selection 会交错执行、互相破坏状态——表现为 rq->core_pick 被清零时崩溃,或已 dequeue 的任务继续运行导致机器卡死(scx#3715)。

主修复(patch 0006)让 core-sched pick 在 dispatch 释放过 rq 锁时返回 RETRY_TASK,确保 selection 只在持续持锁期间提交 pick。前置补丁更新 core-sched pick 以处理丢锁的 pick(0001-0002),并修同一 fold 导致的相邻破坏(0003-0005)。

patch 0003 把 SCX_RQ_BAL_KEEP(指示 pick 继续运行前一个任务的 leftover)替换为 dispatch verdict(SCX_DSP_NONE/LOCAL/PREV)。rq 级 flag 只在 dispatch 和 pick 一一配对时有效,core scheduling 打破了这一前提:selection 经 dispatch 丢锁而交错,一个 pick 可能消费过期 flag、继续运行已 dequeue 的任务。修复让该决策跟随产生它的 dispatch 一起传播,scx_dispatch_sched() 和 balance_one() 返回显式 verdict。(Tejun Heo,6 补丁系列)Fixes: 4c95380701f5Cc: stable # v6.19+。[1]

sashiko AI 在 review patch 0006(rq->core_pick corruption 修复)时标出一个 High 风险:core scheduling 下 sibling CPU 执行 core-wide pick 时,pending kick-sync 操作被静默忽略丢失,破坏 scx_bpf_kick_cpu() 的等待保证。

sched_ext:v7.2-rc6 修复批次合入主线

[2]

Tejun Heo 8 月 2 日向 Linus 发出 GIT PULL(tags/sched_ext-for-7.2-rc6-fixes),pr-tracker-bot 确认合入 torvalds/linux(commit be76b516e681)。这批 6 个补丁把 w29/w30 报告过的修复带入 v7.2-rc6:

  • • sub-scheduler 生命周期:enable 失败 teardown never-linked 子调度器与 root disable 并发的 use-after-free(Skip sub-disable teardown for never-linked)、SCX_OPS_SWITCH_PARTIAL root 下非 ext 任务被标 ENABLED 却留在自己 class(Don't enable non-ext tasks in the sub-sched task loops)、子调度器 disable 路径静默改写活任务策略(Reject setting disallow from init_task outside the enable path);
  • • cgroup lock 三方死锁:scx_cgroup_lock()、cgroup teardown 排空 cpu controller 文件、并发 cpu.weight 写,靠重排锁序修复(Take cgroup_lock() first);
  • • WAKE_SYNC waker CPU busy:sync wakeup 选到 waker CPU 时不标 busy 导致 idle 跟踪失同步(Mark waker CPU busy when selected in WAKE_SYNC case,w30 报告的 Kuba Piecuch 补丁);
  • • numa test:sleeping task 在 wakeup 前 CPU 亲和变化。

这批合入意味着上几期 sub-scheduler 生命周期 + cgroup lock + idle 跟踪的修复全部进入 v7.2-rc6。[3]

PREEMPT_DYNAMIC 简化:v2 rebase 完成,Mark 建议等 v7.3-rc1

[4]

上期 w31 因当时只有 review 收齐、还需 rebase 而删去未报。本周 Mark Rutland 完成 rebase 并出 v2(8 月 3 日):rebase 到 v7.2-rc4 以避开 powerpc 冲突(a2c02aa0c6ca),补上已有的 R-b 标签,修 typo,并按 Shrikanth 建议新增第 6 个补丁(简化 preempt model accessor)。系列从 5 补丁变为 6 补丁。

Mark 自己判断当前周期偏晚(tip:sched/core 基于 v7.2-rc1),询问 tip 侧是现在排队还是等 v7.3-rc1 后再重发。这是承接 w27 起报、w29 拿到 R-b、w31 需 rebase 的延续线索,本周 rebase 这一步完成。[4]

二、重要 Bug 修复

sched/cpufreq:schedutil 从未到达 boost 频率

[5]

【问题】capacity_freq_ref(经 get_capacity_ref_freq() 暴露给 schedutil governor)由 9942cb22ea45 引入,是运行时不变的固定锚点。但 schedutil governor 把这个固定锚点用作 map_util_freq() 的参考频率,而该函数恰好在 capacity_freq_ref 处饱和。结果是 cpufreq boost 启用的系统在 schedutil governor 下实际频率到不了 boost 区间。

【修复方案】改用 policy-max 作为 map_util_freq 的参考频率,并允许 cpuinfo max 在 boost 禁用时回退到非 boost 值。实测:补丁前 time_in_state 显示 4723200(boost 频率)占用为 0;补丁后该频率有实际占用。依赖当前行为(只向上 bump)的驱动可能受影响,需在驱动侧处理。(Sibi Sankar / 高通 + Ananthu C V,2 补丁)

sched/cpufreq:schedutil rate_limit_us 32 位溢出

[6]

【问题】rate_limit_us 是 unsigned int。32 位系统上乘 NSEC_PER_USEC 时按 32 位算术运算,结果赋给 freq_update_delay_ns 后已回绕。写 4294968 会把 delay 从 4294968000 ns 回绕到 704 ns,schedutil 因此远比配置的更频繁更新。

【修复方案】新增 sugov_update_rate_limit_us(),在转换单位前把值拓宽到 u64,sysfs 更新和 governor start 两条路径都改走该函数。Fixes: 9bdcb44e391d。(Hui Su)v2 按 review 把 rate_limit_us cast 到 s64 以匹配 freq_update_delay_ns、补充 32 位算术说明、加上 Zhongqiu Han 的 R-b。

sched:reset-on-fork 跨并发 sched_setparam 丢失

[7]

【问题】SCHED_RESET_ON_FORK 防止调度属性传播到子进程,该请求记录在 p->sched_reset_on_forksched_setparam() 用 SETPARAM_POLICY 更新调度参数时保留当前 policy 和 reset-on-fork 设置。但 __sched_setscheduler() 在拿到 task rq 锁之前就读取 p->sched_reset_on_fork,并发的 sched_setscheduler() 可能在这次读取之后修改该 flag,随后执行的 sched_setparam() 会用过期值把它覆盖回去。

【修复方案】记录调用方是否要求保留 policy,拿到 rq 锁后重新读取 reset_on_fork。early-exit 和 full update 两条路径都保留最近一次序列化写入的设置。Fixes: ca94c442535aReported-by: K Prateek Nayak。(Andrea Righi)

sched_ext:find_parent_sched() NULL deref(防御性加固,非可达崩溃)

[8]

Cui Jian 报告 find_parent_sched() 解引用 cgrp->scx_sched 前没有判空,传 v1 cgroup ID 作 sub_cgroup_id 会触发 NULL 解引用导致崩溃。Zhan Xusheng(小米)回复指出 v1 cgroup 实际到不了这个函数:cgroup_get_from_id() 只在 v2 kernfs root 查找(kernfs_find_and_get_node_by_id(cgrp_dfl_root.kf_root, id)),v1 id 会得到 -ENOENT;即便找到,cgroup_is_descendant() 也会按 cgrp->root != ancestor->root 拒绝;scx_cgroup_lifetime_notify() 对 !cgroup_on_dfl(cgrp) 直接返回。Zhan Xusheng 同时指出:防御性检查本身无害,但 changelog 写成"可达崩溃"会误导 backport 和 CVE 决策。

Cui Jian 随后的 v2 把 changelog 改为"实际安全,加防御性检查"。这与 w29 的 se.load 重复补丁同类——报告的 bug 路径实际不可达,但防御性检查保留。[9]

三、sched_ext 进展

核心功能演进

本周核心演进是上面两节展开的 core scheduling 修复和 v7.2-rc6 合入。承接上期判断,本周的关键变化是 v7.2 维护周期接近尾声(rc6),上几期累积的 sub-scheduler 生命周期、cgroup lock、idle 跟踪修复批量进入主线;同时 for-7.3 侧 idle CPU 状态初始化 apply、rescue execution v2 进入 review。

idle CPU 状态初始化系列(上期 v2 报告,本周经 v3→v4)被 Tejun apply 到 sched_ext/for-7.3,补丁标题改为"Initialize idle masks as busy",核心不变:在 ops.init() 之前启用 idle tracking 并在 rq 锁下刷新每个在线 CPU,ops.update_idle() 通知延迟到完全启用后才开放。这条与 v7.2-rc6 合入的 WAKE_SYNC waker CPU busy 属同一 idle 跟踪失同步问题域。

rescue execution(上期 v1 报告,本周 v2)继续 Tejun 自己的补丁拆分 review(16 个回复),Andrea Righi 在 8 月 3 日参与讨论。proxy execution 共存 v10 本周 Tejun Heo 在 8 月 3 日做了详细 review(涉及 reject DSQ reenqueue path 的 scx_reenq_reject() 实现等),Andrea 8 月 5-6 日回应。

稳定性修复

本周稳定性修复分三块:core scheduling 修复(见一、,6 补丁,Cc: stable # v6.19+);v7.2-rc6 修复批次合入(见一、);schedutil boost 频率、rate_limit_us 溢出、reset-on-fork 并发(见二、)。

生态与工具改进

selftests/sched_ext: Check skeleton open failure in exit test(Liang Luo,KylinOS)——exit.c 不查 exit__open() 返回值,返回 NULL(skeleton wrapper 分配对象或 open BPF ELF 失败)时下一行 SCX_ENUM_INIT() 经 skel->rodata NULL deref。其他 selftest 都有 SCX_FAIL_IF(!skel, ...) 守卫,唯独 exit.c 缺。Fixes: a5db7817af78。[10]

sched: adjust cfs_bandwidth layout to save memory(Hongling Zeng,KylinOS,RESEND v2)——pahole 显示 cfs_bandwidth 有 padding hole,调整布局从 240 字节降到 232 字节。period_timer 可能多碰一个 cacheline,但本就碰多条 cacheline 且非热路径。[11]

四、工具链与调试

sched: pause KCOV in __schedule()(Karl Mehltretter,3/5)——kernel/sched/ 本身不插桩,但它调用的函数(sched_clock()、arch CPU-capacity helper、profile_hits())插了桩,preempt/schedule 路径会给 current 引入非确定性的覆盖数据。CONFIG_KCOV_SELFTEST 的 interrupt selftest 在 x86_64 defconfig QEMU 下因 arch_scale_cpu_capacity() 的虚假覆盖而失败;arm64 在 sched_clock() 出现同类泄漏。逐个给被调函数加排除会把改动散布到各 arch,因此改为在 __schedule() 入口统一暂停 KCOV。Fixes: 5c9a8750a640。[12]

sched/debug: Protect lockless rq->curr access in print_cpu()(Aaron Tomlin,v3 1/4)——print_cpu() 无锁解引用 rq->curr,经 task_pid_nr() 打印 PID。访问 /sys/kernel/debug/sched/debug 本就是 best-effort,但如果 CPU 上运行的任务并发退出且 refcount 降到零,put_task_struct() 会调 call_rcu() 安排 __put_task_struct_rcu_cb()print_cpu() 解引用时不持 RCU 读锁,RCU grace period 可能在此期间完成并经 free_task() 释放任务结构。[13]

sched: minor cleanups(Zhan Xusheng,小米,3 补丁)——删 v6.19 起无调用方的 sched_fair_runnable()(static inline 故从未告警);删 requeue_task_rt() 的无用 rq 参数;修 RT_GROUP_SCHED 块的倒置 #endif 注释。无功能变化。[14]

perf sched: Suppress latency table output when trace samples are missing(Aaron Tomlin)——延续上期,本周出到 v9(1/4)。[15]

五、下周关注点

  1. 1. core scheduling 修复的合入与 stable 回填——6 补丁系列修复 v6.19 起的损坏(Cc: stable # v6.19+),关注是否进 v7.2 最终版和 stable 回填范围,以及 sashiko AI 标出的 pending kick-sync 丢失 High 风险如何处理。
  2. 2. rescue execution v2 与 proxy execution v10 的 review 走向——rescue execution 的 overload ejection、protected execution 升级能否在 7.3 窗口冻结前稳定;proxy v10 经 Tejun 8 月 3 日的详细 review(reject DSQ reenqueue path)后是否出 v11。
  3. 3. schedutil boost 频率修复的合入——依赖当前"只向上 bump"行为的驱动可能受影响,关注驱动侧如何处理、是否标 stable。
  4. 4. PREEMPT_DYNAMIC v2 的排队时机——Mark Rutland 建议等 v7.3-rc1 后重发,关注 tip 侧是否现在排队。
  5. 5. 7.3 开发窗口冻结前的 capability 模型收尾——idle init 已 apply,rescue execution、bound reenqueues、NMI-safe exit、follow-up + cap enforcement 等系列关注哪些进 for-7.3

引用链接

[1] 原文: https://lore.kernel.org/all/20260807210221.232543-1-tj@kernel.org/
[2] 原文: https://lore.kernel.org/all/73f632a36560eddd78a0b82db78e4b8d@kernel.org/
[3] 原文: https://lore.kernel.org/all/178578257290.2780879.7865900681859315974.pr-tracker-bot@kernel.org/
[4] 原文: https://lore.kernel.org/all/20260803191731.3244294-1-mark.rutland@arm.com/
[5] 原文: https://lore.kernel.org/all/20260806044230.909961-1-sibi.sankar@oss.qualcomm.com/
[6] 原文: https://lore.kernel.org/all/20260805143942.805176-1-sh_def@163.com/
[7] 原文: https://lore.kernel.org/all/20260807082236.1076967-1-arighi@nvidia.com/
[8] 原文: https://lore.kernel.org/all/20260807093838.56002-1-cjian720@163.com/
[9] 原文: https://lore.kernel.org/all/20260807114534.1253158-1-zhanxusheng@xiaomi.com/
[10] 原文: https://lore.kernel.org/all/20260807013912.3178229-1-luoliang@kylinos.cn/
[11] 原文: https://lore.kernel.org/all/20260803074026.57701-1-zenghongling@kylinos.cn/
[12] 原文: https://lore.kernel.org/all/20260807205027.31972-4-kmehltretter@gmail.com/
[13] 原文: https://lore.kernel.org/all/20260808235522.380038-2-atomlin@atomlin.com/
[14] 原文: https://lore.kernel.org/all/20260804124947.3898447-1-zhanxusheng@xiaomi.com/
[15] 原文: https://lore.kernel.org/all/20260725160513.57477-1-arighi@nvidia.com/

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 14:53:12 HTTP/2.0 GET : https://f.mffb.com.cn/a/509540.html
  2. 运行时间 : 0.311622s [ 吞吐率:3.21req/s ] 内存消耗:4,716.89kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=19a12d20d2b5102f499ff898700c22b9
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000890s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001356s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.035294s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000819s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001646s ]
  6. SELECT * FROM `set` [ RunTime:0.011460s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001800s ]
  8. SELECT * FROM `article` WHERE `id` = 509540 LIMIT 1 [ RunTime:0.009261s ]
  9. UPDATE `article` SET `lasttime` = 1787295192 WHERE `id` = 509540 [ RunTime:0.006909s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000762s ]
  11. SELECT * FROM `article` WHERE `id` < 509540 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003647s ]
  12. SELECT * FROM `article` WHERE `id` > 509540 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008113s ]
  13. SELECT * FROM `article` WHERE `id` < 509540 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003040s ]
  14. SELECT * FROM `article` WHERE `id` < 509540 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.020197s ]
  15. SELECT * FROM `article` WHERE `id` < 509540 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002390s ]
0.315166s