官方文档查看地址:
http://doc.dpdk.org/guides/linux_gsg/build_sample_apps.html
PDF下载地址:
https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-getting-started-guide.html

本篇难度系数:
翻译:★☆☆☆☆
理解:★☆☆☆☆

7.EAL参数
本文档包含所有EAL参数的列表。运行在Linux上的任何DPDK应用程序都可以使用这些参数。

7.1命令行EAL参数
下面的EAL参数对于DPDK支持的所有平台都是通用的。

7.1.1Lcore-related选项

  • -c <core mask>
    设置要运行的核心的十六进制位掩码。

  • -l <core list>
    要运行的内核列表
    参数格式为< c1 >[-c2][,c3[-c4],…]其中c1、c2等为0 ~ 128之间的核心索引。

  • --lcores <core map>
    将lcore集映射到物理cpu集
    参数格式为:
    <lcores[@cpus]>[<,lcores[@cpus]>…]

Lcore和CPU列表按组内的()进行分组。-字符用作范围分隔符,并且用作单个数字分隔符。对于单个元素组,可以省略分组()。如果cpu和lcore值相同,可以省略@

请注意
在给定的实例中,只能使用一个核心选项--lcore-l-c

  • --master-lcore <core ID>
    用作主机的核心ID。
  • -s <service core mask>
    用作服务核心的核心的十六进制位掩码。

7.1.2设备相关选项

  • -b, --pci-blacklist <[domain:]bus:devid.func>
    黑名单一种PCI设备,以防止EAL使用它。允许多个-b选项。

请注意
PCI黑名单不能与-w选项一起使用。

  • -w, --pci-whitelist <[domain:]bus:devid.func>
    在白色列表中添加一个PCI设备。

请注意
PCI白名单不能与-b选项一起使用。

  • --vdev <device arguments>
    使用以下格式添加虚拟设备:
    < driver >< id >[,key=val, …]
    例如:
    –vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap’
  • -d <path to shared object or directory>
    加载外部驱动。参数可以是单个共享对象文件,也可以是包含多个驱动程序共享对象的目录。允许多个-d选项。
  • --no-pci
    禁用PCI总线。

7.1.3多进程相关选项

  • --proc-type <primary|secondary|auto>
    设置当前进程的类型。

7.1.4内存相关的选项

  • -n <number of channels>
    设置要使用的内存通道的数量。

  • -r <number of ranks>
    设置内存级别的数量(默认情况下自动检测)。

  • -m <megabytes>
    启动时要预分配的内存量。

  • --in-memory
    不要创建任何共享数据结构并完全在内存中运行。暗示--no-shconf 和(如果适用的话) --huge-unlink

  • --iova-mode <pa|va>
    强制IOVA模式到一个特定的值。

7.1.5调试选项

  • --no-shconf
    没有创建共享文件(意味着没有辅助进程支持)

  • --no-huge
    使用匿名内存而不是大页(意味着不支持辅助进程)

  • --log-level <type:val>
    指定日志级别为特定组件,例如:

    • --log-level eal:8
      可以多次指定。

7.1.6其他选项

  • -h, --help
    显示列出所有EAL参数的帮助消息。
    Display help message listing all EAL parameters.

  • -v
    在启动时显示版本信息。

  • mbuf-pool-ops-name:
    要使用的mbuf的池操作程序名称。

7.2. Linux-specific EAL 参数
除了常见的EAL参数外,还有特定于linux的EAL参数。

7.2.1Device-related 选项

  • --create-uio-dev
    为绑定到igb_uio内核驱动程序的设备创建/dev/uioX文件(通常由igb_uio驱动程序本身完成)。

  • --vmware-tsc-map
    使用VMware TSC map代替本地RDTSC。

  • --no-hpet
    不要使用HPET定时器。

  • --vfio-intr
    为绑定到VFIO内核驱动程序的设备使用指定的中断模式。

7.2.2. Multiprocessing-related 选项

  • --file-prefix
    为DPDK进程使用不同的共享数据文件前缀。此选项允许在不同前缀下运行多个独立的DPDK主/辅助进程。

  • --base-virtaddr
    尝试为主DPDK进程的所有内存映射使用不同的起始地址。如果辅助进程由于地址映射中的冲突而无法启动,这将非常有用。

7.2.3. Memory-related 选项

  • --legacy-mem
    使用旧的DPDK内存分配模式。
    Use legacy DPDK memory allocation mode.

  • --socket-mem
    为每个套接字预先分配指定数量的内存。参数是一个逗号分隔的值列表。例如:

    • –socket-mem 1024,2048
      这将在套接字0上分配1g内存,在套接字1上分配2048 mb内存。
  • --socket-limit
    为内存使用设置每个套接字的上限(仅限非遗留内存模式)。0将禁用特定套接字的限制。

  • --single-file-segments
    在hugetlbfs(仅非遗留模式)中创建更少的文件。

  • --huge-dir
    使用指定的hugetlbfs目录代替自动检测目录。

  • --huge-unlink
    在创建hugepage文件之后断开它们的链接(意味着不支持辅助进程)。

  • --match-allocations
    免费的大页返回到系统中,与它们最初分配时完全一样。

7.2.4. 其他选项

  • --syslog
    syslog工具集。有效的syslog工具包括:
auth
cron
daemon
ftp
kern
lpr
mail
news
syslog
user
uucp
local0
local1
local2
local3
local4
local5
local6
local7
Logo

更多推荐