Visible to Intel only — GUID: nkd1745274373067
Ixiasoft
Visible to Intel only — GUID: nkd1745274373067
Ixiasoft
3.5.7. Set the Boot Parameters
- Edit the /etc/default/grub file.
Append the highlighted parameters to the GRUB_CMDLINE_LINUX line in the /etc/default/grub file.
For Intel CPU:
GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=20 intel_iommu=on iommu=pt processor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable panic=1 quiet splash vt.handoff=7"
For AMD CPU:
GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=20 amd_iommu=on iommu=soft processor.max_cstate=0 amd-pstate panic=1 quiet splash vt.handoff=7"
An Intel CPU example of the /etc/default/grub file on Ubuntu after the edits can be seen below:
root@bapvecise042:~# cat /etc/default/grub # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT="1>2" GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=0 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=20 intel_iommu=on iommu=pt nprocessor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable panic=1 quiet splash vt.handoff=7" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
- Generate GRUB configuration files.
Execute the following command:
sudo update-grub
- Reboot the system.
- Verify the changes above by running the following command:
$ cat /proc/cmdline
- Set the hugepages:
$ echo 40 | sudo tee /proc/sys/vm/nr_hugepages
- If the host supports multiple NUMAs, use the following steps:
- Check how many NUMAs are enabled on the host.
$lscpu | grep NUMA NUMA node(s): 2 NUMA node0 CPU(s): 0-15, 32-47 NUMA node1 CPU(s): 16-31, 48-63
In this example, we have two NUMAs. If only one NUMA is present, ignore the below steps:
- Check which device is provisioned:
$cat /sys/class/pci_bus/<Domain:Bus>/device/numa_node
- Enable the hugepages, whichever NUMA device is located:
$echo 40 |> sudo tee /sys/devices/system/node/node<nodenum>\ /hugepages/hugepages-1048576kB/nr_hugepages
- Configure the thread sequence in software/user/cli/perfq_app/perfq_app.h based on which NUMA device is located. For example:
#define THREAD_SEQ "0-15"
- Check how many NUMAs are enabled on the host.
- Set PCIe_SLOT based on your design example link width configuration. Modify the software flag below in the p0_software/user/common/include/ifc_libmqdma.h and p0_software/dpdk/dpdk/drivers/net/mcdma/rte_pmd_mcdma.h files.
#define PCIe_SLOT 0 /* 0 - x16, 1 - x8, 2 – x4 */
Example of software flag setting for x4 link width:
#define PCIe_SLOT 2