summaryrefslogtreecommitdiff
path: root/conf.d/qemu.d/beefcake
blob: 21b7e745ac83f91b64d31dabe7287b7edad357ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/hint/bash

system=x86_64
args=(
	-no-user-config
	-no-reboot # let the systemd supervisor know we're restarting

	-machine accel=kvm

	# RAM: 16 GiB per NUMA node, but leave 1 GiB per node for QEMU itself
	-m $((30*1024))
	-object memory-backend-ram,id=ram0,prealloc=on,size=$((15*1024**3)),host-nodes=0,policy=bind
	-object memory-backend-ram,id=ram1,prealloc=on,size=$((15*1024**3)),host-nodes=1,policy=bind
	# CPU: 1 socket / 8 cores-per-node / 2 threads-per-core = total of 16 CPUs
	# Except that it's AMD, and QEMU thinks all threads are Intel HT, so turn off threads
	# The distance between the two nodes is '16'
	-smp sockets=1,cores=16,threads=1,cpus=16
	-numa node,nodeid=0,memdev=ram0,cpus=0-7
	-numa node,nodeid=1,memdev=ram1,cpus=8-15
	-numa dist,src=0,dst=1,val=16

	-uuid 4c42bd65-6ad5-456d-8b76-758ecb795e21
	-drive media=disk,file=/dev/vg_build64/lv_beefcake_root,format=raw,if=virtio
	-drive media=disk,file=/dev/vg_build64/lv_beefcake_home,format=raw,if=virtio
	-drive media=disk,file=/dev/vg_build64/lv_beefcake_data,format=raw,if=virtio
	-drive media=disk,file=/dev/vg_build64/lv_beefcake_chroots,format=raw,if=virtio
	#-cdrom /mnt/media/Operating_Systems/unix/Linux-based/Arch-based/Parabola/parabola-2017.05.28-dual.iso
	-boot menu=on,order=dc

	-writeconfig /tmp/beefcake.cfg
)

numactl=(
	--membind=0,1
	--cpunodebind=0,1
)
for i in {0..15}; do
	vcpu2cpulist[$i]=$i
done