加入收藏 | 设为首页 | 会员中心 | 我要投稿 171手机网 (https://www.171shouji.cn/)- 云手机、5G、智能手机、新款手机、手机推荐!
当前位置: 首页 > 热门品牌 > 苹果 > 正文

iPhone Air震撼曝光:轻薄新纪元,性能续航双突破

发布时间:2026-10-21 11:36:35 所属栏目:苹果 来源:DaWei
导读:  那天晚上十一点四十七,测试间灯管第三次闪——不是整排灭,是左起第二根,滋啦一声往下坠半秒光,像眼皮抽搐。我盯着它看,手还悬在键盘上没敲下去,因为刚跑完那个大版本的 thermal-throttle stress loop,第十

  那天晚上十一点四十七,测试间灯管第三次闪——不是整排灭,是左起第二根,滋啦一声往下坠半秒光,像眼皮抽搐。我盯着它看,手还悬在键盘上没敲下去,因为刚跑完那个大版本的 thermal-throttle stress loop,第十八轮。屏幕右下角时间跳成十一点四十八,风扇声突然变调,嘶——嗡——嘶——嗡——,跟呼吸机似的。


  组长端着保温杯进来,杯底磕在桌沿“当”一声,水洒了两滴在桌上那张没撕的便利贴上,上面写着“查3GPP R17 VoNR fallback路径”,字被洇开一点,但还能认。他问我:“Air的功耗曲线稳不稳?”我摇头。他没再问,转身去隔壁找开发,背影晃了一下——他最近颈椎不好,工位上垫着个荞麦皮枕头,我没敢提这茬。


  我原以为是PM塞进来的那个新调度器搞的鬼,结果抓trace发现根本没进 scheduler,连 sched_submit_work 都没触发。它卡在 pm_runtime_get_sync 的 return 地址上,就卡住,不动,不报错,不panic,就像人睡着了还睁着眼。那个大版本里所有带 Air 字样的用例,全挂在这儿。不是 crash,不是 timeout,是 silent hang。我敢打包票:你把同一个 test case 拷贝三份,一份放 /data,一份放 /cache,一份放 /vendor,只有放 /data 的那份会在第六次 run 的时候掉进去——就那么准。


  凌晨一点零三分,我下楼打车,司机师傅在听评书,《三国演义》播到空城计,诸葛亮坐在城楼上弹琴那段。他声音洪亮,说“司马懿啊,他不是看不出这是空城,他是不敢进城”。我愣了一下,手机屏还亮着,logcat 里刷着一堆“[air_power] throttle_level=0x0, but rail voltage is 0.78V —— inconsistent”。我就笑了一下,笑完自己都觉得莫名其妙。


  桌上三杯咖啡,第一杯冷透了,杯壁结了一圈浅褐色印子;第二杯喝过一半,奶泡塌成灰色浮膜;第三杯没动过,锡纸封口还齐整,标签朝外,写着“瑞幸 · 厚乳拿铁”。我本来想喝第三杯,但看到它就想起昨天下午产品经理抱着平板冲进来那会儿——她指甲油是深蓝的,指尖点在 Air 宣传页“轻薄新纪元”那行字上,声音又快又脆:“这个卖点必须透到每个 OTA 提示里。”我说:“可 thermal shutdown 还没收敛。”她眨眨眼:“shutdown 是底线,咱们要的是‘用户感知不到’。”


  对,“优胜劣汰”——这话不是我说的,是那个开发在群里甩出来的截图。他截的是我们内部灰度群聊天记录,他回了一句:“所以现在不是看谁写得稳,是看谁扛得住 Air 的调度乱拳。”底下没人接。我后来翻了三天的 perf_event list,发现有十七个 tracepoint 在那个大版本里被悄悄关了,关得不干净:有些模块启用了,有些留着 stub,有些连编译宏都漏写了。其中一个叫 air_throttle_debug_mask 的宏,在 kernel-4.19 分支里注释掉了,但在 vendor 驱动里又被硬编码打开了。这种事,你说它是 bug?它没 crash。你说它是 feature?它让 thermal log 全变成“unknown state”。我试过手动 patch,加了个 pr_err,结果 reboot 后 kernel panic —— 不是因为 pr_err,是因为那个 pr_err 触发了另一个没注册的 notifier_chain。你信不信?一个打印语句,能链式触发三重异常,最后停在 i2c_bus_notifier_call_chain 的空指针上。


外观展示图,仅供参考

  哦对,工位隔板上那张黄色便利贴,最底下还有一行小字,是我昨天半夜写的:“检查 air_thermal_trip_point_table 是否被 vendor overlay 覆盖过两次”。字歪的,可能是困了。到现在还没查。


  我其实真不想吐槽这个。我想说的是:上周三下午两点,开发那边推过来的 build,里面有个 .ko 模块,md5 校验和文档里写的差三位。我跟他们对,对方回:“文档早过期了,你按现网来。”我就按现网 rebase,rebase 到一半 git status 显示 modified: drivers/thermal/air_v2_core.c,但 git diff 居然空。空的。我反复 pull、fetch、reset、hard reset,全空。后来发现是行尾换行符混了 CRLF 和 LF,git config core.autocrlf true 把它吞了。这事跟我手头这个 Air 有什么关系?没有。但它就是发生了。我盯着终端看了四十秒,然后去接了杯水。


  现在的问题是:这个大版本下周二封版。PM 要把 “iPhone Air震撼曝光:轻薄新纪元,性能续航双突破” 塞进所有 pre-install 的 splash。我知道那个 splash 图片底层走的是 drm_kms,而 drm_kms 在 thermal 超限时会 drop frame 但不报 err,只默默切回 legacy fb。所以用户看到的“流畅开机动画”,其实是降频后的 fake smooth。这不是优化,是掩盖。但谁会为这个拦住封版?我不知道。反正我不拦。我不是 QA,我是系统测试,我只负责把 failure 打包成 zip 发出去。要不要解压,解压后信不信,那是别人的事。


  我明天早上八点前把 log 打包好,放共享目录,路径里写清楚“air_throttle_silent_hang_thermal_173”,不加密,也不加说明文档。你们爱看不看。要是真有人从里面看出点东西,记得告诉我一声——我想知道,到底是哪一行代码,把“优胜劣汰”四个字,焊死在了 thermal zone 的 temperature_lock 位上。

(编辑:171手机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章