ACPI: processor: Take over RCU-idle for C3-BM idle
authorPeter Zijlstra <peterz@infradead.org>
Tue, 15 Sep 2020 10:32:01 +0000 (12:32 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 16 Sep 2020 17:36:26 +0000 (19:36 +0200)
commit1fecfdbb7acc6624655450a609221c89b5197a06
tree40939e03a67f54ccf191cf25e924ecf7a0da4d27
parent8747f2022fe8d8029193707ee86ff5c792cbef9b
ACPI: processor: Take over RCU-idle for C3-BM idle

The C3 BusMaster idle code takes lock in a number of places, some deep
inside the ACPI code. Instead of wrapping it all in RCU_NONIDLE, have
the driver take over RCU-idle duty and avoid flipping RCU state back
and forth a lot.

( by marking 'C3 && bm_check' as RCU_IDLE, we _must_ call enter_bm() for
  that combination, otherwise we'll loose RCU-idle, this requires
  shuffling some code around )

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/processor_idle.c