adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Igor Mammedov fb43b73b92 pc: fix default VCPU to NUMA node mapping
Since commit
   dd0247e0 pc: acpi: mark all possible CPUs as enabled in SRAT
Linux kernel actually tries to use CPU to Node mapping from
QEMU provided SRAT table instead of discarding it, and that
in some cases breaks build_sched_domains() which expects
sane mapping where cores/threads belonging to the same socket
are on the same NUMA node.

With current default round-robin mapping of VCPUs to nodes
guest ends-up with cores/threads belonging to the same socket
being on different NUMA nodes.

For example with following CLI:

   qemu-system-x86_64 -m 4G \
         -cpu Opteron_G3,vendor=AuthenticAMD \
         -smp 5,sockets=1,cores=4,threads=1,maxcpus=8 \
         -numa node,nodeid=0 -numa node,nodeid=1

2.6.32 based kernels will hang on boot due to incorrectly built
sched_group-s list in update_sd_lb_stats()

Replacing default mapping with a manual, where VCPUs belonging to
the same socket are on the same NUMA node, fixes the issue for
guests which can't handle nonsense topology i.e. changing CLI to:
  -numa node,nodeid=0,cpus=0-3 -numa node,nodeid=1,cpus=4-7

So instead of simply scattering VCPUs around nodes, provide
callback to map the same socket VCPUs to the same NUMA node,
which is what guests would expect from a sane hardware/BIOS.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2015-03-19 16:12:09 -03:00
audio
backends backends: Fix warning from Sparse 2015-03-19 11:11:55 +03:00
block Block patches for 2.3.0-rc1 2015-03-19 17:47:08 +00:00
bsd-user cpu: Make cpu_init() return QOM CPUState object 2015-03-10 17:33:51 +01:00
default-configs s390x/config: Do not include full pci.mak 2015-03-16 10:20:17 +01:00
disas cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
docs docs: add memory-hotplug.txt 2015-03-04 13:00:36 -05:00
dtc@bc895d6d09
fpu
fsdev Fix typos in comments 2015-03-19 11:30:37 +03:00
gdb-xml
hw pc: fix default VCPU to NUMA node mapping 2015-03-19 16:12:09 -03:00
include numa: introduce machine callback for VCPU to node mapping 2015-03-19 16:12:09 -03:00
libcacard
libdecnumber
linux-headers synchronize Linux headers to 4.0-rc3 2015-03-10 09:26:22 +01:00
linux-user linux-user: Access correct register for get/set_tls syscalls on ARM TZ CPUs 2015-03-16 12:30:47 +00:00
migration migration: Expose 'cancelling' status to user 2015-03-17 15:20:37 +01:00
net net: synchronize net_host_device_remove with host_net_remove_completion 2015-03-12 19:59:39 +00:00
pc-bios seabios: update to 1.8.1 stable release 2015-03-16 09:07:15 +01:00
pixman@87eea99e44
po
qapi block: Fix blockdev-backup not to use funky error class 2015-03-19 16:02:59 +01:00
qga qga/commands-posix: Fix resource leak 2015-03-19 11:39:18 +03:00
qobject
qom qom: Fix warning from Sparse 2015-03-19 11:11:55 +03:00
roms seabios: update to 1.8.1 stable release 2015-03-16 09:07:15 +01:00
scripts build: pass .d file name to scripts/make_device_config.sh, fix makefile target 2015-03-18 12:07:25 +01:00
slirp
stubs pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
sysconfigs/target
target-alpha tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-arm target-arm: Ignore low bit of PC in M-profile exception return 2015-03-16 12:30:47 +00:00
target-cris cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
target-i386 target-i386: Remove icc_bridge parameter from cpu_x86_create() 2015-03-17 14:51:49 +01:00
target-lm32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-m68k tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-microblaze tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-mips trivial patches for 2015-03-19 2015-03-19 14:10:20 +00:00
target-moxie target-moxie: Fix warnings from Sparse (one-bit signed bitfield) 2015-03-19 11:11:55 +03:00
target-openrisc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-ppc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-s390x Final batch of s390x enhancements/fixes for 2.3: 2015-03-16 11:44:55 +00:00
target-sh4 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-sparc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-tricore Fix typos in comments 2015-03-19 11:30:37 +03:00
target-unicore32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-xtensa tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
tcg tcg/optimize: Handle or r,a,a with constant a 2015-03-16 08:46:13 -07:00
tests Block patches for 2.3.0-rc1 2015-03-19 17:47:08 +00:00
trace Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
ui ui: ensure VNC websockets server checks the ACL if requested 2015-03-18 09:25:14 +01:00
util util/uri: Add overflow check to rfc3986_parse_port 2015-03-18 12:05:31 +01:00
.exrc
.gitignore gitignore: Track common.env in iotests gitignore 2015-03-10 08:15:34 +03:00
.gitmodules
.mailmap
.travis.yml
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS misc fixes and cleanups 2015-03-12 09:13:07 +00:00
Makefile build: pass .d file name to scripts/make_device_config.sh, fix makefile target 2015-03-18 12:07:25 +01:00
Makefile.objs
Makefile.target Makefile.target: binary depends on config-devices 2015-03-01 19:41:50 +01:00
README
VERSION Update version for v2.3.0-rc0 release 2015-03-17 18:58:33 +00:00
accel.c
aio-posix.c
aio-win32.c
arch_init.c arch_init: Count the total number of pages by using helper function 2015-03-17 15:20:37 +01:00
async.c
balloon.c
block.c block: Drop bdrv_find 2015-03-16 12:10:30 -04:00
blockdev-nbd.c nbd: Handle blk_getlength() failure 2015-03-18 12:06:50 +01:00
blockdev.c block: Fix blockdev-backup not to use funky error class 2015-03-19 16:02:59 +01:00
blockjob.c
bootdevice.c bootdevice: bug fixes 2015-03-08 06:43:32 +00:00
bt-host.c
bt-vhci.c
configure configure: enable kvm on x32 2015-03-19 11:17:27 +03:00
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c - vhost-scsi: add bootindex property 2015-02-24 13:58:18 +00:00
cpus.c profiler: Reenable built-in profiler 2015-03-18 12:07:34 +01:00
cputlb.c
device-hotplug.c pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
device_tree.c machine: query phandle-start machine property 2015-03-11 18:17:11 +01:00
disas.c
dma-helpers.c
dump.c
exec.c exec: Respect as_tranlsate_internal length clamp 2015-03-18 12:09:42 +01:00
gdbstub.c gdbstub: avoid possible NULL pointer dereference 2015-03-10 08:15:34 +03:00
hmp-commands.hx hmp: Fix texinfo documentation 2015-03-19 11:35:52 +03:00
hmp.c migration/next for 20150317 2015-03-17 17:11:33 +00:00
hmp.h qom: Implement qom-set HMP command 2015-03-17 14:31:15 +01:00
iohandler.c
ioport.c
iothread.c
kvm-all.c kvm: fix ioeventfd endianness on bi-endian architectures 2015-03-18 12:07:30 +01:00
kvm-stub.c
main-loop.c
memory.c memory: Move owner-less MemoryRegions to /machine/unattached 2015-03-17 14:31:26 +01:00
memory_mapping.c
module-common.c
monitor.c trivial patches for 2015-03-19 2015-03-19 14:10:20 +00:00
nbd.c nbd: Drop unexpected data for NBD_OPT_LIST 2015-03-18 12:07:16 +01:00
numa.c numa: introduce machine callback for VCPU to node mapping 2015-03-19 16:12:09 -03:00
os-posix.c
os-win32.c
page_cache.c
qapi-schema.json migration: Convert 'status' of MigrationInfo to use an enum type 2015-03-17 15:20:37 +01:00
qdev-monitor.c qom: Implement info qom-tree HMP command 2015-03-17 14:31:21 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qemu-img: Suppress unhelpful extra errors in convert, amend 2015-02-26 14:51:21 +01:00
qemu-coroutine-io.c coroutine-io: Return -errno in case of error 2015-03-18 12:07:21 +01:00
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
qemu-doc.texi raw-posix: Deprecate host floppy passthrough 2015-03-19 11:43:02 +01:00
qemu-img-cmds.hx
qemu-img.c qemu-img: Avoid qerror_report_err() outside QMP handlers, again 2015-03-16 17:07:25 +01:00
qemu-img.texi
qemu-io-cmds.c
qemu-io.c Clean up around error_get_pretty(), qerror_report_err() 2015-02-26 07:01:08 +00:00
qemu-log.c
qemu-nbd.c nbd: Set block size to BDRV_SECTOR_SIZE 2015-03-18 12:07:01 +01:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx Block patches for 2.3.0-rc1 2015-03-19 17:47:08 +00:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qjson.c
qmp-commands.hx Block patches for 2.3.0-rc1 2015-03-19 17:47:08 +00:00
qmp.c vnc: set id at parse time not init time 2015-03-10 11:33:35 +01:00
qtest.c qtest: Use qemu_opt_set() instead of qemu_opts_parse() 2015-02-26 14:52:13 +01:00
rules.mak
savevm.c error: Replace error_report() & error_free() with error_report_err() 2015-03-19 11:11:55 +03:00
softmmu_template.h
spice-qemu-char.c
tcg-runtime.c
tci.c
thread-pool.c
thunk.c
tpm.c tpm: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
trace-events s390x/kvm: trace all SIGP orders 2015-03-10 09:26:22 +01:00
translate-all.c
translate-all.h
user-exec.c user-exec.c: fix build on NetBSD/sparc64 and NetBSD/arm 2015-03-13 15:57:00 +00:00
version.rc
vl.c numa: introduce machine callback for VCPU to node mapping 2015-03-19 16:12:09 -03:00
xen-common-stub.c
xen-common.c
xen-hvm-stub.c xen: Remove xen_cmos_set_s3_resume() 2015-03-10 08:15:33 +03:00
xen-hvm.c
xen-mapcache.c

README

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team