freebsd-skq/sys/ia64/include
John Baldwin a3870a1826 Very rough first cut at NUMA support for the physical page allocator. For
now it uses a very dumb first-touch allocation policy.  This will change in
the future.
- Each architecture indicates the maximum number of supported memory domains
  via a new VM_NDOMAIN parameter in <machine/vmparam.h>.
- Each cpu now has a PCPU_GET(domain) member to indicate the memory domain
  a CPU belongs to.  Domain values are dense and numbered from 0.
- When a platform supports multiple domains, the default freelist
  (VM_FREELIST_DEFAULT) is split up into N freelists, one for each domain.
  The MD code is required to populate an array of mem_affinity structures.
  Each entry in the array defines a range of memory (start and end) and a
  domain for the range.  Multiple entries may be present for a single
  domain.  The list is terminated by an entry where all fields are zero.
  This array of structures is used to split up phys_avail[] regions that
  fall in VM_FREELIST_DEFAULT into per-domain freelists.
- Each memory domain has a separate lookup-array of freelists that is
  used when fulfulling a physical memory allocation.  Right now the
  per-domain freelists are listed in a round-robin order for each domain.
  In the future a table such as the ACPI SLIT table may be used to order
  the per-domain lookup lists based on the penalty for each memory domain
  relative to a specific domain.  The lookup lists may be examined via a
  new vm.phys.lookup_lists sysctl.
- The first-touch policy is implemented by using PCPU_GET(domain) to
  pick a lookup list when allocating memory.

Reviewed by:	alc
2010-07-27 20:33:50 +00:00
..
pc
_align.h Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an 2009-09-08 20:45:40 +00:00
_bus.h
_inttypes.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 17:55:51 +00:00
_limits.h
_regset.h
_stdint.h
_types.h
acpica_machdep.h Rename disable_intr() to ia64_disable_intr() and rename enable_intr() 2010-03-26 21:22:02 +00:00
asm.h When compiling with profiling, we define PROF for userspace and GPROF 2010-07-01 00:30:35 +00:00
atomic.h
bootinfo.h
bus_dma.h
bus.h Some code churn: 2010-02-14 16:56:24 +00:00
clock.h Revamp the interrupt code based on the previous commit: 2010-03-17 00:37:15 +00:00
cpu.h
cpufunc.h Rename disable_intr() to ia64_disable_intr() and rename enable_intr() 2010-03-26 21:22:02 +00:00
db_machdep.h
dig64.h
efi.h Fix previous commitr:. efi_var_set() was copied from efi_var_get(), 2010-01-14 02:38:46 +00:00
elf.h Provide groundwork for 32-bit binary compatibility on non-x86 platforms, 2010-03-11 14:49:06 +00:00
endian.h
exec.h
float.h
floatingpoint.h
fpu.h
frame.h Don't include <machine/_regset.h> when _MACHINE_REGSET_H_ in defined. 2010-03-21 22:33:09 +00:00
gdb_machdep.h
ia64_cpu.h Switch to C99 exact-width types. 2010-05-19 00:23:10 +00:00
ieee.h
ieeefp.h
in_cksum.h
intr.h Implement interrupt to CPU binding. Assign interrupts to CPUs in a 2010-03-27 05:40:50 +00:00
intrcnt.h Revamp the interrupt code based on the previous commit: 2010-03-17 00:37:15 +00:00
iodev.h - Extract the IODEV_PIO interface from ia64 and make it MI. 2010-04-28 15:38:01 +00:00
kdb.h Define struct pcpu_md as the only MD field of struct pcpu (pc_acpi_id 2009-12-07 06:41:27 +00:00
limits.h
mca.h Allocate and setup an interrupt vector for corrected machine checks. 2010-07-03 20:19:20 +00:00
md_var.h Add acpi_find_table() -- a convenience function for looking up an 2010-07-07 20:07:33 +00:00
memdev.h
mutex.h
pal.h o s/u_int64_t/uint64_t/g 2010-04-13 15:51:25 +00:00
param.h When compat32 binary asks for the value of hw.machine_arch, report the 2010-07-22 09:13:49 +00:00
pcb.h Don't include <machine/_regset.h> when _MACHINE_REGSET_H_ in defined. 2010-03-21 22:33:09 +00:00
pci_cfgreg.h Some code cleanups: 2010-02-14 17:03:20 +00:00
pcpu.h Only use the interval timer for clock interrupts on the BSP and 2010-03-26 02:29:15 +00:00
pmap.h Switch to C99 exact-width types. 2010-05-19 00:23:10 +00:00
pmc_mdep.h
proc.h Change ia64' struct syscall_args definition so that args is a pointer to 2010-05-24 17:24:14 +00:00
profile.h While functions are ideally aligned to a 32-byte boundary, don't 2010-06-30 22:29:02 +00:00
pte.h
ptrace.h
reg.h Provide groundwork for 32-bit binary compatibility on non-x86 platforms, 2010-03-11 14:49:06 +00:00
reloc.h
resource.h
runq.h Switch to C99 exact-width types. 2010-05-19 00:23:10 +00:00
sal.h Switch to C99 exact-width types. 2010-05-19 00:23:10 +00:00
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h Revamp the interrupt code based on the previous commit: 2010-03-17 00:37:15 +00:00
stdarg.h
sysarch.h Use io(4) for I/O port access on ia64, rather than through sysarch(2). 2010-01-11 18:10:13 +00:00
ucontext.h
unwind.h
varargs.h
vm.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vmparam.h Very rough first cut at NUMA support for the physical page allocator. For 2010-07-27 20:33:50 +00:00