acrn-kernel/arch/ia64/kernel
Matias Bjørling ef78e5ec92 ia64: export node_distance function
The numa_slit variable used by node_distance is available to a
module as long as it is linked at compile-time. However, it is
not available to loadable modules. Leading to errors such as:

  ERROR: "numa_slit" [drivers/nvme/host/nvme-core.ko] undefined!

The error above is caused by the nvme multipath code that makes
use of node_distance for its path calculation. When the patch was
added, the lightnvm subsystem would select nvme and always compile
it in, leading to the node_distance call to always succeed.
However, when this requirement was removed, nvme could be compiled
in as a module, which exposed this bug.

This patch extracts node_distance to a function and exports it.
Since ACPI is depending on node_distance being a simple lookup to
numa_slit, the previous behavior is exposed as slit_distance and its
users updated.

Fixes: f333444708 "nvme: take node locality into account when selecting a path"
Fixes: 73569e1103 "lightnvm: remove dependencies on BLK_DEV_NVME and PCI"
Signed-off-by: Matias Bjøring <mb@lightnvm.io>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-11-26 18:30:40 -08:00
..
.gitignore
Makefile ia64/kprobes: Remove jprobe implementation 2018-06-21 12:33:09 +02:00
Makefile.gate
acpi-ext.c
acpi.c ia64: export node_distance function 2018-11-26 18:30:40 -08:00
asm-offsets.c pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
audit.c
brl_emu.c signal/ia64: Use force_sig_fault where appropriate 2018-09-27 21:58:18 +02:00
crash.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
crash_dump.c
cyclone.c
dma-mapping.c dma-debug: move initialization to common code 2018-05-08 13:02:42 +02:00
efi.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
efi_stub.S
elfcore.c
entry.S
entry.h
err_inject.c ia64/err-inject: fix spelling mistake: "capapbilities" -> "capabilities" 2018-03-05 14:44:53 -08:00
esi.c
esi_stub.S
fsys.S pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
fsyscall_gtod_data.h
ftrace.c
gate-data.S
gate.S
gate.lds.S
head.S
ia64_ksyms.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
iosapic.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
irq.c
irq_ia64.c
irq_lsapic.c
ivt.S
kprobes.c bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe 2018-06-21 12:33:19 +02:00
machine_kexec.c
machvec.c ia64: remove machvec_dma_sync_{single,sg} 2018-09-17 10:15:51 -07:00
mca.c memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
mca_asm.S
mca_drv.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
mca_drv.h
mca_drv_asm.S
minstate.h
module.c ia64: Add .opd based function descriptor dereference 2018-01-09 10:45:37 +01:00
msi_ia64.c
nr-irqs.c
numa.c
pal.S
palinfo.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
patch.c
pci-dma.c intel-iommu: mark intel_dma_ops static 2018-09-17 10:15:58 -07:00
perfmon.c mm: make vm_area_alloc() initialize core fields 2018-07-21 15:24:03 -07:00
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
process.c ia64: do not use print_symbol() 2018-01-05 15:20:28 +01:00
ptrace.c
relocate_kernel.S
sal.c
salinfo.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
setup.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
sigframe.h
signal.c kernel/signal.c: fix a comment error 2018-10-31 08:54:14 -07:00
smp.c
smpboot.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
stacktrace.c
sys_ia64.c mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() 2018-04-02 20:16:11 +02:00
time.c ia64, sched/cputime: Fix build error if CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y 2018-01-06 11:48:34 +01:00
topology.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
traps.c signal/ia64: Use force_sig_fault where appropriate 2018-09-27 21:58:18 +02:00
unaligned.c signal/ia64: Use force_sig_fault where appropriate 2018-09-27 21:58:18 +02:00
uncached.c
unwind.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
unwind_decoder.c
unwind_i.h
vmlinux.lds.S Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk 2018-02-01 13:36:15 -08:00