Skip to content

hvc and powerpc opal console latency reduction

Nicholas Piggin linuxppc-dev lkml 1 version Applied

Status from this message: Applied to powerpc next, thanks.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest15 patches 15 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/15powerpc/powernv: opal_put_chars partial write fixarch/powerpc/platforms/powernv/opal.c+1 -11 reply
2/15powerpc/powernv: Fix OPAL console driver OPAL_BUSY loopsarch/powerpc/platforms/powernv/opal.c+23 -150 replies
3/15powerpc/powernv: opal-kmsg standardise OPAL_BUSY handlingarch/powerpc/platforms/powernv/opal-kmsg.c+16 -80 replies
4/15powerpc/powernv: opal-kmsg use flush fallback from console codearch/powerpc/platforms/powernv/opal-kmsg.c+6 -94 replies
5/15powerpc/powernv: Implement and use opal_flush_consolearch/powerpc/include/asm/opal.h arch/powerpc/platforms/powernv/opal-kmsg.c arch/powerpc/platforms/powernv/opal.c+42 -360 replies
6/15powerpc/powernv: Remove OPALv1 support from opal console driverarch/powerpc/platforms/powernv/opal.c+40 -460 replies
7/15powerpc/powernv: move opal console flushing to udbgarch/powerpc/platforms/powernv/opal.c drivers/tty/hvc/hvc_opal.c+12 -50 replies
8/15powerpc/powernv: implement opal_put_chars_atomicarch/powerpc/include/asm/opal.h arch/powerpc/platforms/powernv/opal.c drivers/tty/hvc/hvc_opal.c+41 -154 replies
9/15tty: hvc: remove unexplained "just in case" spin delaydrivers/tty/hvc/hvc_opal.c+1 -70 replies
10/15tty: hvc: use mutex instead of spinlock for hvc_structs lockdrivers/tty/hvc/hvc_console.c+11 -121 reply
11/15tty: hvc: hvc_poll break hv read loopdrivers/tty/hvc/hvc_console.c+45 -431 reply
12/15tty: hvc: hvc_poll may sleepdrivers/tty/hvc/hvc_console.c+14 -21 reply
13/15tty: hvc: hvc_write may sleepdrivers/tty/hvc/hvc_console.c+21 -151 reply
14/15tty: hvc: introduce the hv_ops.flush operation for hvc driversdrivers/tty/hvc/hvc_console.c drivers/tty/hvc/hvc_console.h+34 -21 reply
15/15powerpc/powernv: provide a console flush operation for opal hvc driverarch/powerpc/include/asm/opal.h arch/powerpc/platforms/powernv/opal.c drivers/tty/hvc/hvc_opal.c+55 -311 reply

Reviews trailers per patch

5 of 15 patches have a Reviewed-by or Acked-by.

PatchBenjamin HerrenschmidtRussell Currey
1/15R-b
2/15
3/15R-b
4/15R-b
5/15R-b
6/15
7/15
8/15
9/15R-b
10/15
11/15
12/15
13/15
14/15
15/15

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/15] hvc and powerpc opal console latency reduction

I'm seeing scattered reports of hard lockups triggering in the OPAL console code. I haven't got a full latency trace -- they are difficult to reproduce and sometimes just show up in dmesg of a bug report when the system is having other issues. But it does seem like there are some improvements that can be made to the hvc console and powerpc opal driver.

I'm not sure how this series should be merged yet, but we can cross that if/when it comes. Possibly all can go via the tty tree with acks from powerpc maintainers.

Comments appreciated.

Thanks,
Nick

--
Nicholas Piggin (15):
powerpc/powernv: opal_put_chars partial write fix powerpc/powernv: Fix OPAL console driver OPAL_BUSY loops powerpc/powernv: opal-kmsg standardise OPAL_BUSY handling powerpc/powernv: opal-kmsg use flush fallback from console code powerpc/powernv: Implement and use opal_flush_console powerpc/powernv: Remove OPALv1 support from opal console driver powerpc/powernv: move opal console flushing to udbg powerpc/powernv: implement opal_put_chars_atomic
tty: hvc: remove unexplained "just in case" spin delay
tty: hvc: use mutex instead of spinlock for hvc_structs lock
tty: hvc: hvc_poll break hv read loop
tty: hvc: hvc_poll may sleep
tty: hvc: hvc_write may sleep
tty: hvc: introduce the hv_ops.flush operation for hvc drivers powerpc/powernv: provide a console flush operation for opal hvc driver

 arch/powerpc/include/asm/opal.h            |   3 +
 arch/powerpc/platforms/powernv/opal-kmsg.c |  30 +---
 arch/powerpc/platforms/powernv/opal.c      | 176 +++++++++++++------
 drivers/tty/hvc/hvc_console.c              | 194 +++++++++++++--------
 drivers/tty/hvc/hvc_console.h              |   1 +
 drivers/tty/hvc/hvc_opal.c                 |  33 ++--
 6 files changed, 276 insertions(+), 161 deletions(-)
Signature · 1 line
2.17.0