linux/arch
Aneesh Kumar K.V faa6d21153 powerpc/nvdimm: use H_SCM_QUERY hcall on H_OVERLAP error
Right now we force an unbind of SCM memory at drcindex on H_OVERLAP error.
This really slows down operations like kexec where we get the H_OVERLAP
error because we don't go through a full hypervisor re init.

H_OVERLAP error for a H_SCM_BIND_MEM hcall indicates that SCM memory at
drc index is already bound. Since we don't specify a logical memory
address for bind hcall, we can use the H_SCM_QUERY hcall to query
the already bound logical address.

Boot time difference with and without patch is:

[    5.583617] IOMMU table initialized, virtual merging enabled
[    5.603041] papr_scm ibm,persistent-memory:ibm,pmemory@44104001: Retrying bind after unbinding
[  301.514221] papr_scm ibm,persistent-memory:ibm,pmemory@44108001: Retrying bind after unbinding
[  340.057238] hv-24x7: read 1530 catalog entries, created 537 event attrs (0 failures), 275 descs

after fix

[    5.101572] IOMMU table initialized, virtual merging enabled
[    5.116984] papr_scm ibm,persistent-memory:ibm,pmemory@44104001: Querying SCM details
[    5.117223] papr_scm ibm,persistent-memory:ibm,pmemory@44108001: Querying SCM details
[    5.120530] hv-24x7: read 1530 catalog entries, created 537 event attrs (0 failures), 275 descs

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190903123452.28620-2-aneesh.kumar@linux.ibm.com
2019-09-25 08:32:59 +10:00
..
alpha Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
arc Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
arm Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
arm64 arm64 fixes for -rc1 2019-09-20 11:42:07 -07:00
c6x dma-mapping: remove CONFIG_ARCH_NO_COHERENT_DMA_MMAP 2019-09-04 11:13:18 +02:00
csky dma-mapping: make dma_atomic_pool_init self-contained 2019-08-29 16:43:33 +02:00
h8300 h8300 update for 5.3 2019-07-17 09:36:38 -07:00
hexagon hexagon: switch to generic version of pte allocation 2019-07-21 09:53:00 -07:00
ia64 Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
m68k Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
microblaze dma-mapping: remove CONFIG_ARCH_NO_COHERENT_DMA_MMAP 2019-09-04 11:13:18 +02:00
mips Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
nds32 dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
nios2 nios2 update for v5.3-rc1 2019-07-12 15:38:05 -07:00
openrisc openrisc: map as uncached in ioremap 2019-08-31 11:57:53 +09:00
parisc Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
powerpc powerpc/nvdimm: use H_SCM_QUERY hcall on H_OVERLAP error 2019-09-25 08:32:59 +10:00
riscv Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
s390 powerpc updates for 5.4 2019-09-20 11:48:06 -07:00
sh dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
sparc Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
um Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
unicore32 dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
x86 powerpc updates for 5.4 2019-09-20 11:48:06 -07:00
xtensa dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
.gitignore
Kconfig powerpc updates for 5.4 2019-09-20 11:48:06 -07:00