kernel: ACPI Warning: Firmware issue: Excessive sleep time

最近のcurrentは、古いdellのnotePC(XPS12)では表題のメッセージが煩すぎて非常にうっとうしくなりました。
これはlinuxのコードをそのまま持ってきているためで、Xorg上のconsole terminalが

kernel: ACPI Warning: Firmware issue: Excessive sleep time (0x0000000000000014 ms > 10 ms) in ACPI Control Method (20220331/exsystem-355)

で埋め尽くされて、重要なメッセージを見落としてしまうという大問題な状況です。このメッセージは単にinformationalなもので、ACPI biosを修正できる訳ではないので、とにかく迷惑です。ってことで、/usr/src/sys/contrib/dev/acpica/components/executer/exsystem.cの該当部分を弄ることにしました。うちのマシンのACPI biosは10msecではなく20msecで動作しているみたいなので、

% diff -ruN exsystem.c.orig exsystem.c
--- exsystem.c.orig     2022-04-03 07:18:33.339997000 +0900
+++ exsystem.c  2022-04-26 19:13:06.814856000 +0900
@@ -342,10 +342,10 @@
      * Warn users about excessive sleep times, so ASL code can be improved to
      * use polling or similar techniques.
      */
-    if (HowLongMs > 10)
+    if (HowLongMs > 20)
     {
         ACPI_WARNING ((AE_INFO,
-            "Firmware issue: Excessive sleep time (0x%8.8X%8.8X ms > 10 ms)"
+            "Firmware issue: Excessive sleep time (0x%8.8X%8.8X ms > 20 ms)"
             " in ACPI Control Method",
             ACPI_FORMAT_UINT64 (HowLongMs)));
     }

のように10msecを20msecへ変更しました。本来はsysctlで変更できるようにすべきでしょうが、面倒だし、そもそもこのACPI_WARNING()自体が殆ど無意味なのであまり手間をかける気にもなれず、非常に安易な対処で済ませてしまいました。

P.S. 当初、/etc/syslog.confで/dev/consoleへのkern.warningを止めようとしたのですが、何故か現環境のconsoleは期待した動作をしませんでした。原因追求する暇がなかったのと、kern.warningを全部落とすのは本意ではなかったので、上記の対応になりました。