linux/arch
Nicholas Piggin 34dd25de9f powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops
This is the start of an effort to tidy up and standardise all the
delays. Existing loops have a range of delay/sleep periods from 1ms
to 20ms, and some have no delay. They all loop forever except rtc,
which times out after 10 retries, and that uses 10ms delays. So use
10ms as our standard delay. The OPAL maintainer agrees 10ms is a
reasonable starting point.

The idea is to use the same recipe everywhere, once this is proven to
work then it will be documented as an OPAL API standard. Then both
firmware and OS can agree, and if a particular call needs something
else, then that can be documented with reasoning.

This is not the end-all of this effort, it's just a relatively easy
change that fixes some existing high latency delays. There should be
provision for standardising timeouts and/or interruptible loops where
possible, so non-fatal firmware errors don't cause hangs.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-04-11 00:05:23 +10:00
..
alpha Merge branch 'syscalls-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux 2018-04-02 21:22:12 -07:00
arc Merge branch 'akpm' (patches from Andrew) 2018-04-06 14:19:26 -07:00
arm Merge branch 'akpm' (patches from Andrew) 2018-04-06 14:19:26 -07:00
arm64 ARM: SoC platform updates for 4.17 2018-04-05 21:21:08 -07:00
c6x
h8300 h8300: remove extraneous __BIG_ENDIAN definition 2018-03-22 17:07:01 -07:00
hexagon
ia64 pci-v4.17-changes 2018-04-06 18:31:06 -07:00
m68k Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2018-04-05 20:33:38 -07:00
microblaze Merge branch 'syscalls-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux 2018-04-02 21:22:12 -07:00
mips mm: fix races between swapoff and flush dcache 2018-04-05 21:36:26 -07:00
nds32 nds32: To use the generic dump_stack() 2018-03-16 15:45:23 +08:00
nios2 mm: fix races between swapoff and flush dcache 2018-04-05 21:36:26 -07:00
openrisc Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-04-04 15:19:26 -07:00
parisc mm: fix races between swapoff and flush dcache 2018-04-05 21:36:26 -07:00
powerpc powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops 2018-04-11 00:05:23 +10:00
riscv RISC-V changes for 4.17 2018-04-04 16:43:47 -07:00
s390 headers: untangle kmemleak.h from mm.h 2018-04-05 21:36:27 -07:00
sh mm: fix races between swapoff and flush dcache 2018-04-05 21:36:26 -07:00
sparc pci-v4.17-changes 2018-04-06 18:31:06 -07:00
um mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() 2018-04-02 20:16:11 +02:00
unicore32 mm: fix races between swapoff and flush dcache 2018-04-05 21:36:26 -07:00
x86 Merge branch 'akpm' (patches from Andrew) 2018-04-06 14:19:26 -07:00
xtensa pci-v4.17-changes 2018-04-06 18:31:06 -07:00
.gitignore
Kconfig kbuild: remove incremental linking option 2018-03-26 02:01:19 +09:00