VFIO Success
This commit is contained in:
40
scripts/hooks/win10/prepare/begin/start.sh
Normal file
40
scripts/hooks/win10/prepare/begin/start.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
# Load Variables
|
||||
source "/etc/libvirt/hooks/kvm.conf"
|
||||
|
||||
# Calculate number of hugepages to allocate from memory (in MB)
|
||||
HUGEPAGES="$(($MEMORY/$(($(grep Hugepagesize /proc/meminfo | awk '{print $2}')/1024))))"
|
||||
|
||||
echo "Allocating hugepages..."
|
||||
echo $HUGEPAGES > /proc/sys/vm/nr_hugepages
|
||||
ALLOC_PAGES=$(cat /proc/sys/vm/nr_hugepages)
|
||||
|
||||
TRIES=0
|
||||
while (( $ALLOC_PAGES != $HUGEPAGES && $TRIES < 1000 ))
|
||||
do
|
||||
echo 1 > /proc/sys/vm/compact_memory ## defrag ram
|
||||
echo $HUGEPAGES > /proc/sys/vm/nr_hugepages
|
||||
ALLOC_PAGES=$(cat /proc/sys/vm/nr_hugepages)
|
||||
echo "Succesfully allocated $ALLOC_PAGES / $HUGEPAGES"
|
||||
let TRIES+=1
|
||||
done
|
||||
|
||||
if [ "$ALLOC_PAGES" -ne "$HUGEPAGES" ]
|
||||
then
|
||||
echo "Not able to allocate all hugepages. Reverting..."
|
||||
echo 0 > /proc/sys/vm/nr_hugepages
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Enable CPU governor performance mode
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "performance" > $file; done
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
|
||||
# Isolate host
|
||||
systemctl set-property --runtime -- user.slice AllowedCPUs=14,15
|
||||
systemctl set-property --runtime -- system.slice AllowedCPUs=14,15
|
||||
systemctl set-property --runtime -- init.scope AllowedCPUs=14,15
|
Reference in New Issue
Block a user