linux/drivers
Toshi Kani 99759869fa acpi: Add acpi_map_pxm_to_online_node()
The kernel initializes CPU & memory's NUMA topology from ACPI
SRAT table.  Some other ACPI tables, such as NFIT and DMAR, also
contain proximity IDs for their device's NUMA topology.  This
information can be used to improve performance of these devices.

This patch introduces acpi_map_pxm_to_online_node(), which is
similar to acpi_map_pxm_to_node(), but always returns an online
node.  When the mapped node from a given proximity ID is offline,
it looks up the node distance table and returns the nearest
online node.

ACPI device drivers, which are called after the NUMA initialization
has completed in the kernel, can call this interface to obtain their
device NUMA topology from ACPI tables.  Such drivers do not have to
deal with offline nodes.  A node may be offline when a device
proximity ID is unique, SRAT memory entry does not exist, or NUMA is
disabled, ex. "numa=off" on x86.

This patch also moves the pxm range check from acpi_get_node() to
acpi_map_pxm_to_node().

Signed-off-by: Toshi Kani <toshi.kani@hp.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2015-06-26 11:23:38 -04:00
..
accessibility
acpi acpi: Add acpi_map_pxm_to_online_node() 2015-06-26 11:23:38 -04:00
amba
android
ata
atm
auxdisplay
base Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
bcma
block libnvdimm, pmem: move pmem to drivers/nvdimm/ 2015-06-24 21:24:10 -04:00
bluetooth
bus drivers: CCI: fix used_mask init in validate_group() 2015-05-07 18:29:18 +02:00
cdrom
char ipmi: Fix multi-part message handling 2015-05-05 19:37:22 -05:00
clk ARM: SoC multiplatform code changes for v4.1 2015-04-22 09:20:15 -07:00
clocksource Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
connector
cpufreq
cpuidle cpuidle: Run tick_broadcast_exit() with disabled interrupts 2015-04-29 15:19:21 +02:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2015-04-26 13:51:05 -07:00
dca
devfreq
dio
dma dmaengine: increment privatecnt when using dma_get_any_slave_channel 2015-04-29 16:47:57 +05:30
dma-buf dma-buf: cleanup dma_buf_export() to make it easily extensible 2015-04-21 14:47:16 +05:30
edac
eisa
extcon Char/Misc driver patches for 4.1-rc1 2015-04-21 09:42:58 -07:00
firewire
firmware Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-05-06 10:57:37 -07:00
fmc
gpio gpio: omap: Fix regression for MPUIO interrupts 2015-05-06 15:19:38 +02:00
gpu Merge tag 'drm-intel-fixes-2015-05-08' of git://anongit.freedesktop.org/drm-intel into drm-fixes 2015-05-11 06:06:22 +10:00
hid
hsi
hv
hwmon
hwspinlock
hwtracing/coresight Char/Misc driver patches for 4.1-rc1 2015-04-21 09:42:58 -07:00
i2c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-04-26 17:44:09 -07:00
ide
idle
iio
infiniband IPoIB/CM: Fix indentation level 2015-05-05 13:21:27 -04:00
input platform/chrome: Updates for v4.1 2015-04-26 13:36:02 -07:00
iommu Merge git://git.infradead.org/intel-iommu 2015-04-26 17:47:46 -07:00
ipack
irqchip Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-05-09 14:59:05 -07:00
isdn
leds This is the bulk of GPIO changes for the v4.1 development 2015-04-18 08:22:10 -04:00
lguest Some virtio internal cleanups, a new virtio device "virtio input", and 2015-04-22 10:55:06 -07:00
macintosh
mailbox
mcb
md Two additional fixes for changes introduced via DM during the 4.1 merge 2015-05-08 20:38:21 -07:00
media media fixes for v4.1-rc3 2015-05-05 08:42:06 -07:00
memory ARM: SoC driver updates for v4.1 2015-04-22 09:18:17 -07:00
memstick
message
mfd platform/chrome: Updates for v4.1 2015-04-26 13:36:02 -07:00
misc Char/Misc driver patches for 4.1-rc1 2015-04-21 09:42:58 -07:00
mmc mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLE 2015-05-08 08:55:47 +02:00
mtd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
net net: fec: Fix RGMII-ID mode 2015-04-30 16:48:53 -04:00
nfc
ntb
nubus
nvdimm libnvdimm, nfit: handle unarmed dimms, mark namespaces read-only 2015-06-26 11:23:38 -04:00
of Devicetree updates for 4.1: 2015-04-24 08:46:18 -07:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
parisc parisc: Eliminate sg_virt_addr() and private scatterlist.h 2015-04-21 22:02:43 +02:00
parport
pci
pcmcia ARM: SoC cleanups for v4.1 2015-04-22 09:04:39 -07:00
phy
pinctrl These are some GPIO fixes for the v4.1 series: 2015-05-08 19:42:59 -07:00
platform thinkpad_acpi: Fix warning for static not at beginning 2015-05-05 13:56:46 -07:00
pnp
power
powercap
pps
ps3
ptp
pwm pwm: Remove __init initializer for pwm_add_table() 2015-04-23 14:50:52 +02:00
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc rtc: armada38x: fix concurrency access in armada38x_rtc_set_time 2015-05-05 17:10:11 -07:00
s390 s390/3215: free memory in error path 2015-04-23 16:55:50 +02:00
sbus
scsi 3w-9xxx: fix command completion race 2015-04-27 10:10:19 -07:00
sfi
sh drivers: sh: Remove test for now unsupported sh7372 2015-04-27 13:08:14 +09:00
sn
soc
spi Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-04-24 09:49:37 -07:00
spmi
ssb
staging media fixes for v4.1-rc3 2015-05-05 08:42:06 -07:00
target Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-04-24 10:22:09 -07:00
tc
thermal
thunderbolt
tty xen: bug fixes for 4.1-rc2 2015-05-06 15:58:06 -07:00
uio
usb cdc-acm: prevent infinite loop when parsing CDC headers. 2015-04-28 12:53:16 +02:00
uwb
vfio vfio: Fix runaway interruptible timeout 2015-05-01 16:31:41 -06:00
vhost Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-04-24 10:22:09 -07:00
video fbdev changes for v4.1 2015-04-20 15:16:25 -07:00
virt
virtio
vlynq
vme
w1
watchdog Merge git://www.linux-watchdog.org/linux-watchdog 2015-04-22 11:22:55 -07:00
xen xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM 2015-05-06 15:02:58 +01:00
zorro
Kconfig libnvdimm, nfit: initial libnvdimm infrastructure and NFIT support 2015-06-24 21:24:10 -04:00
Makefile libnvdimm, nfit: initial libnvdimm infrastructure and NFIT support 2015-06-24 21:24:10 -04:00