aboutsummaryrefslogtreecommitdiff
path: root/secure/lib
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2026-04-17 17:11:53 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2026-04-17 17:11:53 +0000
commitf46d75c90f5feb87259635134dde4da328282842 (patch)
tree6d333232767f9ced8e2406b743b348f2f8125493 /secure/lib
parentcfec995c87f39e59c80554b85625b4aaa8ddf8db (diff)
ixgbe: improve MDIO performance by reducing semaphore/IPC delays
Each MDIO transfer takes 8ms, and all of that is spent in a set of DELAY() calls, which is consuming a LOT of CPU. * Change the timeout in ixgbe_hic_unlocked() - doing IPC to the on-chip firmware - to a 1uS delay and bump timeout appropriately. This seems to finish in a couple of microseconds on my local test devices. * Change the 2ms sleep in ixgbe_release_swfw_sync_X540() to 2ms for EEPROM/flash, and 10uS otherwise. 10uS seems to work fine on my local testing, but the config EEPROM doesn't read right without this extra delay. The first change shouldn't change the driver behaviour, but the latter change is more intrusive and needs some wider testing. (My guess here is that there SHOULD have been some completion check somewhere in the EEPROM/flash IO path, and these sleeps are masking them.) Locally tested: * C3558 (Denverton) w/ X553 backplane Reviewed by: kbowling Differential Revision: https://reviews.freebsd.org/D50295
Diffstat (limited to 'secure/lib')
0 files changed, 0 insertions, 0 deletions