[PATCH 0/5] Allow opal-async waiters to get interrupted

Cyril Bur cyrilbur at gmail.com
Thu Jun 29 16:54:08 AEST 2017


Hello,

This patchset aims to solve the problem that currently all users of
the opal-async calls must use wait_event(), this may be undesirable
when there is a userspace process behind the request for the opal
call, if OPAL takes too long to complete the call then hung task
warnings will appear.

In order to solve the problem callers should use
wait_event_interruptible(), due to the interruptible nature of this
call the opal-async infrastructure needs to track extra state
associated with each async token, this is prepared for in patch 2/5.

Patch 3/5 attempts to provide a solution to the problem that the
powernv_flash MTD driver can use in patch 5/5.

Hello MTD folk, traditionally Michael Ellerman takes powernv_flash
driver patches through the powerpc tree, as always your feedback is
very welcome.

Thanks,

Cyril

Cyril Bur (5):
  powerpc/opal: Make __opal_async_{get,release}_token() static
  powerpc/opal: Rework the opal-async interface
  powerpc/opal: Add opal_async_wait_response_interruptible() to
    opal-async
  powerpc/powernv: Add OPAL_BUSY to opal_error_code()
  mtd: powernv_flash: Use opal_async_wait_response_interruptible()

 arch/powerpc/include/asm/opal.h             |   3 +-
 arch/powerpc/platforms/powernv/opal-async.c | 190 ++++++++++++++++++++--------
 arch/powerpc/platforms/powernv/opal.c       |   1 +
 drivers/mtd/devices/powernv_flash.c         |  18 ++-
 4 files changed, 151 insertions(+), 61 deletions(-)

-- 
2.13.2



More information about the Linuxppc-dev mailing list