linux/drivers/acpi
David Rientjes 3484d79813 x86_64: fake pxm-to-node mapping for fake numa
For NUMA emulation, our SLIT should represent the true NUMA topology of the
system but our proximity domain to node ID mapping needs to reflect the
emulated state.

When NUMA emulation has successfully setup fake nodes on the system, a new
function, acpi_fake_nodes() is called.  This function determines the proximity
domain (_PXM) for each true node found on the system.  It then finds which
emulated nodes have been allocated on this true node as determined by its
starting address.  The node ID to PXM mapping is changed so that each fake
node ID points to the PXM of the true node that it is located on.

If the machine failed to register a SLIT, then we assume there is no special
requirement for emulated node affinity so we use the default LOCAL_DISTANCE,
which is newly exported to this code, as our measurement if the emulated nodes
appear in the same PXM.  Otherwise, we use REMOTE_DISTANCE.

PXM_INVAL and NID_INVAL are also exported to the ACPI header file so that we
can compare node_to_pxm() results in generic code (in this case, the SRAT
code).

Cc: Len Brown <lenb@kernel.org>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-21 18:37:10 -07:00
..
dispatcher ACPICA: Lindent 2007-05-09 23:34:35 -04:00
events ACPICA: Lindent 2007-05-09 23:34:35 -04:00
executer ACPICA: Lindent 2007-05-09 23:34:35 -04:00
hardware ACPICA: Lindent 2007-05-09 23:34:35 -04:00
namespace ACPICA: Lindent 2007-05-09 23:34:35 -04:00
parser ACPICA: Lindent 2007-05-09 23:34:35 -04:00
resources ACPICA: Lindent 2007-05-09 23:34:35 -04:00
sleep PM: Introduce pm_power_off_prepare 2007-07-19 10:04:42 -07:00
tables ACPICA: allow Load(OEMx) tables 2007-05-29 18:29:50 -04:00
utilities ACPICA: fix error path in new external package objects as method arguments 2007-06-18 00:51:47 -04:00
Kconfig Pull sbs into release branch 2007-04-28 23:16:59 -04:00
Makefile Pull sbs into release branch 2007-04-28 23:16:59 -04:00
ac.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
acpi_memhotplug.c ACPI: Remove duplicate definitions for _STA bits 2007-04-25 14:17:39 -04:00
asus_acpi.c asus_acpi: fix oops on non-asus machines 2007-07-01 12:29:44 -07:00
battery.c Pull bugzilla-7200 into release branch 2007-02-16 22:11:37 -05:00
bay.c Pull fluff into release branch 2007-02-16 22:10:32 -05:00
blacklist.c ACPI: make blacklist more verbose 2007-03-09 21:19:05 -05:00
bus.c ACPI: use _STA bit names rather than 0x0F 2007-04-25 14:20:58 -04:00
button.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
cm_sbs.c ACPI: clean up ACPI_MODULE_NAME() use 2007-02-12 22:42:12 -05:00
container.c ACPI: Remove duplicate definitions for _STA bits 2007-04-25 14:17:39 -04:00
debug.c ACPI: clean up ACPI_MODULE_NAME() use 2007-02-12 22:42:12 -05:00
dock.c ACPI: dock: use NULL for pointer 2007-03-28 23:31:43 -04:00
ec.c acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands 2007-05-10 03:52:22 -04:00
event.c ACPI: clean up ACPI_MODULE_NAME() use 2007-02-12 22:42:12 -05:00
fan.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
glue.c workaround rtc-related acpi table bugs 2007-05-08 11:15:18 -07:00
numa.c x86_64: fake pxm-to-node mapping for fake numa 2007-07-21 18:37:10 -07:00
osl.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
pci_bind.c ACPI: clean up ACPI_MODULE_NAME() use 2007-02-12 22:42:12 -05:00
pci_irq.c ACPI: clean up ACPI_MODULE_NAME() use 2007-02-12 22:42:12 -05:00
pci_link.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
pci_root.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
power.c Pull misc-for-upstream into release branch 2007-03-09 23:19:50 -05:00
processor_core.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
processor_idle.c [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
processor_perflib.c [CPUFREQ] Remove deprecated /proc/acpi/processor/performance write support 2007-04-26 14:32:02 -04:00
processor_thermal.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
processor_throttling.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
sbs.c ACPI: sbs: Common interface with CM battery 2007-03-22 01:15:58 -04:00
scan.c PNPACPI sets pnpdev->dev.archdata 2007-05-08 11:15:08 -07:00
system.c ACPI: delete extra #defines in /drivers/acpi/ drivers 2007-02-12 23:50:52 -05:00
tables.c Revert "ACPI: parse 2nd MADT by default" 2007-03-30 14:16:10 -04:00
thermal.c Add common orderly_poweroff() 2007-07-18 08:47:40 -07:00
toshiba_acpi.c toshiba_acpi: fix section mismatch in allyesconfig 2007-06-16 13:16:15 -07:00
utils.c ACPI: clean up ACPI_MODULE_NAME() use 2007-02-12 22:42:12 -05:00
video.c ACPI: video: Fix spelling and grammar mistakes 2007-03-09 21:37:07 -05:00