mbox series

[v3,00/13] ipmi-hiomap: Enablement for Async opal_flash_op's

Message ID 1578338508-13424-1-git-send-email-debmc@linux.ibm.com
Headers show
Series ipmi-hiomap: Enablement for Async opal_flash_op's | expand

Message

Deb McLemore Jan. 6, 2020, 7:21 p.m. UTC
From: Deb McLemore <debmc@oc4402612711.ibm.com>

This series optimizes opal_flash_op's by breaking the buffer sizes
into smaller chunks.  The IPMI window movements are re-worked to not re-enter
OPAL since the poller design is a limiting factor.  The smaller buffer
chunk sizes allow operations to be re-queued, which allows OPAL
to jump back out to Linux to prevent RCU or scheduler issues.

v3:
Patch 6 updated some comments, removed MASK's and new name for
define FLASH_ERR_ASYNC_WORK (old was FLASH_ERR_MISSED_CC).

v2:
Patch 7 fixed irqmask handling
Patch 8 removed (the SuperIO handling, misunderstanding clarified)
Patch 12 fixed root bug for ipmi timer scheduling
Patch 13 added log helpers

v1:
Patch 1-5 were inherited from previous foundation work which provide
base enablement.

Patch 6 is the core of the re-work for IPMI window moving and re-queue'ing.

Patch 7 and 8 were issues addressed during test which surfaced and needed
fixing.

Patch 9-11 are additional logging which aides debug where timing paths
become critical.

Patch 12 enables the IPMI messages to be efficiently returned since
re-queues need to be turned around more readily.

Cyril Bur (4):
  core/flash: Allow OPAL flash calls for size equal to flash
  core/flash: Make flash_reserve() and flash_release() use any flash
  core/flash: Don't hold flash_lock for the entirety of an
    opal_flash_op()
  core/flash: Make opal_flash_op() actually asynchronous

Deb McLemore (8):
  hiomap: Enable Async IPMI messaging
  lpc: Fix lpc probe irqmask handling
  hw/bt: Add some more queue debug
  core/flash: Update some logging
  libflash/ipmi-hiomap: Add some debug logging
  lpc: Add logging for hardware diagnostics
  hw/bt: Allow ipmi regular intervals
  libflash/ipmi-hiomap: Add helpers for logging

Stewart Smith (1):
  qemu: 1ms heartbeat time

 core/flash.c           |  327 +++++++++++--
 core/timer.c           |    8 +
 hw/bt.c                |    8 +-
 hw/ipmi/ipmi-sel.c     |    4 +-
 hw/lpc.c               |   39 +-
 include/skiboot.h      |    4 +-
 libflash/blocklevel.h  |    2 +
 libflash/errors.h      |    1 +
 libflash/ipmi-hiomap.c | 1186 +++++++++++++++++++++++++++++++++++++-----------
 libflash/ipmi-hiomap.h |   41 +-
 platforms/qemu/qemu.c  |    9 +
 11 files changed, 1292 insertions(+), 337 deletions(-)