From a4e37a5cd6ab5c7ad8da4279560185664f1124cf Mon Sep 17 00:00:00 2001 From: Prince George <45705344+prgeor@users.noreply.github.com> Date: Tue, 5 Sep 2023 10:23:57 -0700 Subject: [PATCH] [platform]: Disable interrupt for intel i2c-i801 driver (#16309) On S6100 we are seeing almost 100K interrupts per second on intels i801 SMBUS controller which affects systems performance. We now disable the i801 driver interrupt and instead enable polling Microsoft ADO (number only): 24910530 How I did it Disable the interrupt by passing the interrupt disable feature argument to i2c-i801 driver How to verify it This fix is NOT applicable for ARM based platforms. Applicable only for intel based platforms:- - On SN2700 its already disabled in Mellanox hw-mgmt - Celestica DX010 and E1031 - Dell S6100 verified the interrupts are no longer incrementing. - Arista 7260CX3 Signed-off-by: Prince George --- device/celestica/x86_64-cel_e1031-r0/installer.conf | 2 +- device/celestica/x86_64-cel_seastone-r0/installer.conf | 2 +- device/dell/x86_64-dell_s6100_c2538-r0/installer.conf | 2 +- files/Aboot/boot0.j2 | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/device/celestica/x86_64-cel_e1031-r0/installer.conf b/device/celestica/x86_64-cel_e1031-r0/installer.conf index 4da96f0604f1..39d9a84c242b 100644 --- a/device/celestica/x86_64-cel_e1031-r0/installer.conf +++ b/device/celestica/x86_64-cel_e1031-r0/installer.conf @@ -1,4 +1,4 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 CONSOLE_SPEED=9600 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=gpio_ich processor.max_cstate=1 intel_idle.max_cstate=0" +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=gpio_ich processor.max_cstate=1 intel_idle.max_cstate=0 i2c-i801.disable_features=0x10" \ No newline at end of file diff --git a/device/celestica/x86_64-cel_seastone-r0/installer.conf b/device/celestica/x86_64-cel_seastone-r0/installer.conf index 456a3ae8f4eb..ae006d821862 100644 --- a/device/celestica/x86_64-cel_seastone-r0/installer.conf +++ b/device/celestica/x86_64-cel_seastone-r0/installer.conf @@ -1,3 +1,3 @@ CONSOLE_PORT=0x3f8 CONSOLE_DEV=0 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=gpio_ich" \ No newline at end of file +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=gpio_ich i2c-i801.disable_features=0x10" \ No newline at end of file diff --git a/device/dell/x86_64-dell_s6100_c2538-r0/installer.conf b/device/dell/x86_64-dell_s6100_c2538-r0/installer.conf index be208a15c691..6ce0ab077f03 100644 --- a/device/dell/x86_64-dell_s6100_c2538-r0/installer.conf +++ b/device/dell/x86_64-dell_s6100_c2538-r0/installer.conf @@ -1,3 +1,3 @@ CONSOLE_PORT=0x2f8 CONSOLE_DEV=1 -ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=gpio_ich,wdat_wdt acpi_no_watchdog=1 nos-config-part=/dev/sda12 logs_inram=on" \ No newline at end of file +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="module_blacklist=gpio_ich,wdat_wdt acpi_no_watchdog=1 nos-config-part=/dev/sda12 logs_inram=on i2c-i801.disable_features=0x10" \ No newline at end of file diff --git a/files/Aboot/boot0.j2 b/files/Aboot/boot0.j2 index 898eb0bcdde3..c5c6a60aa26e 100644 --- a/files/Aboot/boot0.j2 +++ b/files/Aboot/boot0.j2 @@ -503,6 +503,7 @@ write_platform_specific_cmdline() { aboot_machine=arista_7260cx3_64 flash_size=28000 cmdline_add logs_inram=on + cmdline_add i2c-i801.disable_features=0x10 fi if [ "$sid" = "Alhambra" ]; then aboot_machine=arista_7170_64c