Re: [PATCH v4 4/4] intel_idle: Add ibrs_off module parameter to force disable IBRS

From: Waiman Long
Date: Wed Jun 28 2023 - 23:05:01 EST


On 6/27/23 22:58, Randy Dunlap wrote:
Hi,

On 6/27/23 19:25, Waiman Long wrote:
Documentation/admin-guide/pm/intel_idle.rst | 17 ++++++++++++++++-
drivers/idle/intel_idle.c | 14 ++++++++++++--
2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/Documentation/admin-guide/pm/intel_idle.rst b/Documentation/admin-guide/pm/intel_idle.rst
index b799a43da62e..8604e6d1fe2c 100644
--- a/Documentation/admin-guide/pm/intel_idle.rst
+++ b/Documentation/admin-guide/pm/intel_idle.rst
You may take or leave these comments as you choose.

@@ -216,6 +216,21 @@ are ignored).
The idle states disabled this way can be enabled (on a per-CPU basis) from user
space via ``sysfs``.
+The ``ibrs_off`` module parameter is a boolean flag (default to false). It is
(default false).
or
(defaults to false).

Then I think it reads better if the next sentence begins with: "If set,"
instead of having it in the middle of the sentence.

+used to control if IBRS (Indirect Branch Restricted Speculation) should be
+turned off, if set, when the CPU enters an idle state. This flag will not
+affect CPUs that are using Enhanced IBRS which can remain on with little
+performance impact.
+
+For some CPUs, IBRS will be selected as mitigation for Spectre v2 and Retbleed
+security vulnerabilities by default. Leaving the IBRS mode on while idling may
+have a performance impact on its sibling CPU. The IBRS mode will be turned off
+by default when the CPU enters into a deep idle state, but not in some
+shallower ones. Setting the ``ibrs_off`` module parameter will force the IBRS
+mode to off when the CPU is in any one of the available idle states. This may
+help performance of a sibling CPU at the expense of a slightly higher wakeup
+latency for the idle CPU.
thanks.

Thanks for the suggestion. I will make the change if I have to revise the patch again for any reason.

Cheers,
Longman