linux/drivers/platform/x86
Srinivas Pandruvada 1e42de8e53 platform/x86: ISST: Optimize CPU to PCI device mapping
It was observed that some of the high performance benchmarks are spending
more time in kernel depending on which CPU package they are executing.
The difference is significant and benchmark scores varies more than 10%.
These benchmarks adjust class of service to improve thread performance
which run in parallel. This class of service change causes access to
MMIO region of Intel Speed Select PCI devices depending on the CPU
package they are executing.

This mapping from CPU to PCI device instance uses a standard Linux PCI
interface "pci_get_domain_bus_and_slot()". This function does a linear
search to get to a PCI device. Since these platforms have 100+ PCI
devices, this search can be expensive in fast path for benchmarks.

Since the device and function of PCI device is fixed for Intel
Speed Select PCI devices, the CPU to PCI device information can be cached
at the same time when bus number for the CPU is read. In this way during
runtime the cached information can be used. This improves performance
of these benchmarks significantly.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20210616221329.1909276-1-srinivas.pandruvada@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-06-18 15:29:36 +02:00
..
dell platform/x86: dell-wmi-sysman/think-lmi: Make fw_attr_class global static 2021-06-16 17:47:55 +02:00
intel-int3472 platform/x86: Add intel_skl_int3472 driver 2021-06-16 17:49:53 +02:00
intel_speed_select_if platform/x86: ISST: Optimize CPU to PCI device mapping 2021-06-18 15:29:36 +02:00
acer-wireless.c acer-wireless: send an EV_SYN/SYN_REPORT between state changes 2020-12-07 16:10:11 +01:00
acer-wmi.c platform/x86: acer-wmi: Don't use ACPI_EXCEPTION() 2021-02-04 15:15:19 +01:00
acerhdf.c thermal/core: Remove ms based delay fields 2021-01-19 22:23:49 +01:00
adv_swbutton.c platform/x86: add support for Advantech software defined button 2021-04-07 19:46:56 +02:00
amd-pmc.c platform/x86: amd-pmc: put device on error paths 2021-02-02 19:33:44 +01:00
amilo-rfkill.c
apple-gmux.c
asus-laptop.c platform/x86: asus-laptop: fix kobj_to_dev.cocci warnings 2021-03-23 21:06:10 +01:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Revert "add support for ASUS ROG Zephyrus G14 and G15" 2021-06-16 17:47:50 +02:00
asus-wireless.c
asus-wmi.c platform/x86: asus-wmi: Add param to turn fn-lock mode on by default 2021-04-07 19:47:08 +02:00
asus-wmi.h platform/x86: asus-wmi: Add support for SW_TABLET_MODE on UX360 2020-10-28 12:47:37 +01:00
classmate-laptop.c platform/x86: Typo fix in the file classmate-laptop.c 2021-03-23 21:05:58 +01:00
compal-laptop.c
eeepc-laptop.c
eeepc-wmi.c
firmware_attributes_class.c platform/x86: dell-wmi-sysman: fw_attr_inuse can be static 2021-06-16 17:47:52 +02:00
firmware_attributes_class.h platform/x86: firmware_attributes_class: Create helper file for handling firmware-attributes class registration events 2021-06-16 17:47:51 +02:00
fujitsu-laptop.c
fujitsu-tablet.c
gigabyte-wmi.c platform/x86: gigabyte-wmi: add support for B550 Aorus Elite 2021-05-19 15:59:47 +02:00
gpd-pocket-fan.c platform/x86: gpd pocket fan: Clean-up by using managed work init 2021-03-23 15:22:40 +01:00
hdaps.c platform/x86: hdaps: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
hp-wmi.c platform/x86: hp-wmi: add platform profile support 2021-03-08 11:33:39 +01:00
hp_accel.c platform/x86: hp_accel: Avoid invoking _INI to speed up resume 2021-05-11 13:44:18 +02:00
huawei-wmi.c
i2c-multi-instantiate.c platform/x86: i2c-multi-instantiate: Don't create platform device for INT3515 ACPI nodes 2021-01-04 15:54:45 +01:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: Ignore VPC event bit 10 2021-06-16 17:47:50 +02:00
intel-hid.c platform/x86: intel-hid: Fix spurious wakeups caused by tablet-mode events during suspend 2021-04-06 22:10:21 +02:00
intel-rst.c
intel-smartconnect.c
intel-uncore-frequency.c platform/x86/intel-uncore-freq: Add Sapphire Rapids server support 2021-02-03 13:10:34 +01:00
intel-vbtn.c platform/x86: intel-vbtn: Remove unused KEYMAP_LEN define 2021-04-07 19:47:13 +02:00
intel-wmi-sbl-fw-update.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
intel-wmi-thunderbolt.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
intel_atomisp2_led.c
intel_atomisp2_pm.c
intel_bxtwc_tmu.c
intel_cht_int33fe_common.c
intel_cht_int33fe_common.h
intel_cht_int33fe_microb.c platform/x86: intel_cht_int33fe_microb: Constify the software node 2021-04-10 21:43:01 +02:00
intel_cht_int33fe_typec.c platform/x86: intel_cht_int33fe: Correct "displayport" fwnode reference 2021-06-16 17:47:49 +02:00
intel_chtdc_ti_pwrbtn.c platform/x86: intel_chtdc_ti_pwrbtn: Fix missing IRQF_ONESHOT as only threaded handler 2021-04-15 13:46:23 +02:00
intel_int0002_vgpio.c platform/x86: intel_int0002_vgpio: Only call enable_irq_wake() when using s2idle 2021-05-19 15:59:47 +02:00
intel_ips.c platform/x86: intel_ips: fix set but unused warning in read_mgtv 2021-06-16 17:47:55 +02:00
intel_ips.h
intel_menlow.c
intel_mrfld_pwrbtn.c
intel_oaktrail.c
intel_pmc_core.c platform/x86: intel_pmc_core: Uninitialized data in pmc_core_lpm_latch_mode_write() 2021-04-21 21:32:31 +02:00
intel_pmc_core.h platform/x86: intel_pmc_core: Add LTR registers for Tiger Lake 2021-04-19 10:44:28 +02:00
intel_pmc_core_pltdrv.c
intel_pmt_class.c platform/x86: intel_pmt_class: Initial resource to 0 2021-03-23 21:49:56 +01:00
intel_pmt_class.h mfd: intel_pmt: Add support for DG1 2021-03-10 10:48:48 +00:00
intel_pmt_crashlog.c platform/x86: intel_pmt_crashlog: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
intel_pmt_telemetry.c mfd: intel_pmt: Add support for DG1 2021-03-10 10:48:48 +00:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Append MODULE_DEVICE_TABLE for ACPI 2021-05-19 15:59:47 +02:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: Increase virtual timeout from 3 to 5 seconds 2021-02-11 16:49:10 +01:00
intel_scu_ipcutil.c
intel_scu_pcidrv.c sfi: Remove framework for deprecated firmware 2021-02-15 20:09:46 +01:00
intel_scu_pltdrv.c
intel_scu_wdt.c platform/x86: intel_scu_wdt: Drop mistakenly added const 2021-02-05 12:54:27 +02:00
intel_telemetry_core.c
intel_telemetry_debugfs.c
intel_telemetry_pltdrv.c
intel_turbo_max_3.c
Kconfig platform/x86: Add intel_skl_int3472 driver 2021-06-16 17:49:53 +02:00
lg-laptop.c platform: x86: ACPI: Get rid of ACPICA message printing 2021-03-08 11:33:39 +01:00
Makefile platform/x86: Add intel_skl_int3472 driver 2021-06-16 17:49:53 +02:00
mlx-platform.c platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system 2020-12-08 11:14:49 +01:00
msi-laptop.c
msi-wmi.c platform/x86: msi-wmi: Fix variable 'status' set but not used compiler warning 2021-02-04 13:35:20 +01:00
mxm-wmi.c
panasonic-laptop.c platform/x86: panasonic-laptop: remove redundant assignment of variable result 2021-04-07 19:47:22 +02:00
pcengines-apuv2.c
peaq-wmi.c
pmc_atom.c platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table 2021-04-14 15:52:37 +02:00
samsung-laptop.c platform/x86: samsung-laptop: set debugfs blobs to read only 2021-06-16 17:47:49 +02:00
samsung-q10.c
sony-laptop.c platform/x86: remove unneeded break 2020-10-28 12:32:06 +01:00
system76_acpi.c
tc1100-wmi.c platform/x86: tc1100-wmi: Constify static attribute_group struct 2021-06-16 17:47:54 +02:00
think-lmi.c platform/x86: think-lmi: Add missing MODULE_DEVICE_TABLE 2021-06-16 17:47:55 +02:00
think-lmi.h platform/x86: thinkpad-lmi: Remove unused display_name member from struct tlmi_pwd_setting 2021-06-16 17:47:52 +02:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support 2021-06-16 17:47:51 +02:00
topstar-laptop.c
toshiba-wmi.c
toshiba_acpi.c platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard() 2021-06-16 17:47:51 +02:00
toshiba_bluetooth.c
toshiba_haps.c platform/x86: toshiba_haps: Fix missing newline in pr_debug call in toshiba_haps_notify 2021-06-16 17:47:49 +02:00
touchscreen_dmi.c Signed tag for the immutable platform-drivers-x86-goodix branch for merging into the input subsystem. 2021-06-16 17:48:11 +02:00
uv_sysfs.c x86/platform/uv: Constify static attribute_group struct 2021-06-16 17:47:55 +02:00
wireless-hotkey.c platform/x86: Rename hp-wireless to wireless-hotkey 2021-06-16 17:47:49 +02:00
wmi-bmof.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
wmi.c platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
xiaomi-wmi.c
xo1-rfkill.c
xo15-ebook.c platform: x86: ACPI: Get rid of ACPICA message printing 2021-03-08 11:33:39 +01:00