linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] Allow opal-async waiters to get interrupted
@ 2017-07-10  1:30 Cyril Bur
  2017-07-10  1:30 ` [PATCH v2 01/10] mtd: powernv_flash: Use WARN_ON_ONCE() rather than BUG_ON() Cyril Bur
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Cyril Bur @ 2017-07-10  1:30 UTC (permalink / raw)
  To: linuxppc-dev, linux-mtd; +Cc: benh, stewart, dwmw2, rlippert, alistair

Hello,

Version one of this series ignored that OPAL may continue to use
buffers passed to it after Linux kfree()s the buffer. This version
addresses this, not in a particularly nice way - future work could
make this better. This version also includes a few cleanups and fixups
to powernv_flash driver one along the course of this work that I
thought I would just send.

The problem we're trying to solve here is 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 6/10.

While I was working on the opal-async infrastructure improvements
Stewart fixed another problem and he relies on the corrected behaviour
of opal-async so I've sent it here.

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 (9):
  mtd: powernv_flash: Use WARN_ON_ONCE() rather than BUG_ON()
  mtd: powernv_flash: Lock around concurrent access to OPAL
  mtd: powernv_flash: Don't treat OPAL_SUCCESS as an error
  mtd: powernv_flash: Remove pointless goto in driver init
  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()

Stewart Smith (1):
  powernv/opal-sensor: remove not needed lock

 arch/powerpc/include/asm/opal.h              |   4 +-
 arch/powerpc/platforms/powernv/opal-async.c  | 188 +++++++++++++++++++--------
 arch/powerpc/platforms/powernv/opal-sensor.c |  17 +--
 arch/powerpc/platforms/powernv/opal.c        |   1 +
 drivers/mtd/devices/powernv_flash.c          |  66 +++++++---
 5 files changed, 190 insertions(+), 86 deletions(-)

-- 
2.13.2

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-07-11  4:20 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-10  1:30 [PATCH v2 00/10] Allow opal-async waiters to get interrupted Cyril Bur
2017-07-10  1:30 ` [PATCH v2 01/10] mtd: powernv_flash: Use WARN_ON_ONCE() rather than BUG_ON() Cyril Bur
2017-07-10  1:30 ` [PATCH v2 02/10] mtd: powernv_flash: Lock around concurrent access to OPAL Cyril Bur
2017-07-10  1:30 ` [PATCH v2 03/10] mtd: powernv_flash: Don't treat OPAL_SUCCESS as an error Cyril Bur
2017-07-10  1:31 ` [PATCH v2 04/10] mtd: powernv_flash: Remove pointless goto in driver init Cyril Bur
2017-07-10  1:31 ` [PATCH v2 05/10] powerpc/opal: Make __opal_async_{get, release}_token() static Cyril Bur
2017-07-10  1:31 ` [PATCH v2 06/10] powerpc/opal: Rework the opal-async interface Cyril Bur
2017-07-10  1:31 ` [PATCH v2 07/10] powernv/opal-sensor: remove not needed lock Cyril Bur
2017-07-10  1:31 ` [PATCH v2 08/10] powerpc/opal: Add opal_async_wait_response_interruptible() to opal-async Cyril Bur
2017-07-10 14:05   ` David Laight
2017-07-11  0:48     ` Cyril Bur
2017-07-10  1:31 ` [PATCH v2 09/10] powerpc/powernv: Add OPAL_BUSY to opal_error_code() Cyril Bur
2017-07-10  1:31 ` [PATCH v2 10/10] mtd: powernv_flash: Use opal_async_wait_response_interruptible() Cyril Bur
2017-07-11  4:19   ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).