--- # file: roles/aws/tasks/main.yaml - name: Edit repositories include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml" tags: - edit-repo - name: Get vfio-pci With WC Patcher get_url: url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/get-vfio-with-wc.sh" dest: "/opt/get-vfio-with-wc.sh" mode: "744" tags: - vfio-aws-patch - name: Create vfio-pci Patch Directory file: path: "/opt/patches/" state: "directory" tags: - vfio-aws-patch - name: Get vfio-pci WC Patch get_url: url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/linux-4.10-vfio-wc.patch" dest: "/opt/patches/linux-4.10-vfio-wc.patch" mode: "744" tags: - vfio-aws-patch - name: Compile vfio-pci With WC Patch shell: "/bin/bash /opt/get-vfio-with-wc.sh" tags: - vfio-aws-patch - name: Load Kernel Modules By Default lineinfile: path: "/etc/modules" state: "present" line: "{{ item }}" with_items: - "vfio-pci" - "igb_uio" tags: - load-kernel-modules - name: Add Kernel Modules Options (igb_uio) lineinfile: path: "/etc/modprobe.d/igb_uio.conf" state: "present" line: "{{ item }}" create: "yes" with_items: - "options igb_uio wc_activate=1" tags: - load-kernel-modules - name: Add Kernel Modules Options (vfio-pci) lineinfile: path: "/etc/modprobe.d/vfio-noiommu.conf" state: "present" line: "{{ item }}" create: "yes" with_items: - "options vfio enable_unsafe_noiommu_mode=1" tags: - load-kernel-modules - name: Reload systemd-modules systemd: name: "systemd-modules-load" state: "restarted" tags: - reload-systemd-modules - name: Performance Tuning - Adjust nr_hugepages sysctl: name: "vm.nr_hugepages" value: "8192" state: "present" sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - set-sysctl