Hello, this is my report about my findings: mlockall() takes a very short time for different transparent hugepage configurations after using the fix in EAL. Log as follows:
****** transparent_hugepage is madvise******* [root@X6000-C23-3U dpdk-19.11]# strace -T -e trace=mlockall ./build/app/testpmd -l 0-1 -n 4 -w 0000:7d:01.0 --file-prefix=rte_lee --log-level=6 -- -i --rxq=1 --txq=1 --rxd=1024 --rxd=1024 EAL: No available hugepages reported in hugepages-2048kB EAL: No available hugepages reported in hugepages-32768kB EAL: No available hugepages reported in hugepages-64kB EAL: VFIO support initialized EAL: using IOMMU type 1 (Type 1) Interactive-mode selected mlockall(MCL_CURRENT|MCL_FUTURE) = 0 <0.014386> Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. Configuring Port 0 (socket 0) Port 0: 82:33:17:B1:43:57 Checking link statuses... Done Error during enabling promiscuous mode for port 0: Operation not supported - ignore testpmd> testpmd> testpmd> quit Stopping port 0... Stopping ports... Done Shutting down port 0... Closing ports... 0000:7d:01.0 hns3vf_dev_close(): Close port 0 finished Done Bye... +++ exited with 0 +++ ****** transparent_hugepage is never******* [root@X6000-C23-3U dpdk-19.11]# strace -T -e trace=mlockall ./build/app/testpmd -l 0-8 -n 4 -w 0000:7d:01.0 --file-prefix=rte_lee --log-level=6 -- -i --rxq=8 --txq=8 EAL: No available hugepages reported in hugepages-2048kB EAL: No available hugepages reported in hugepages-32768kB EAL: No available hugepages reported in hugepages-64kB EAL: VFIO support initialized EAL: using IOMMU type 1 (Type 1) Interactive-mode selected mlockall(MCL_CURRENT|MCL_FUTURE) = 0 <0.031902> Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. Configuring Port 0 (socket 0) Port 0: 1E:46:8C:BC:7A:E7 Checking link statuses... Done Error during enabling promiscuous mode for port 0: Operation not supported - ignore testpmd> testpmd> testpmd> quit Stopping port 0... Stopping ports... Done Shutting down port 0... Closing ports... 0000:7d:01.0 hns3vf_dev_close(): Close port 0 finished Done Bye... +++ exited with 0 +++ ****** transparent_hugepage is always ******* [root@X6000-C23-3U dpdk-19.11]# strace -T -e trace=mlockall ./build/app/testpmd -l 0-8 -n 4 -w 0000:7d:01.0 --file-prefix=rte_lee --log-level=6 -- -i --rxq=8 --txq=8 EAL: No available hugepages reported in hugepages-2048kB EAL: No available hugepages reported in hugepages-32768kB EAL: No available hugepages reported in hugepages-64kB EAL: VFIO support initialized EAL: using IOMMU type 1 (Type 1) Interactive-mode selected mlockall(MCL_CURRENT|MCL_FUTURE) = 0 <0.017960> Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. Configuring Port 0 (socket 0) Port 0: EA:84:12:62:A5:98 Checking link statuses... Done Error during enabling promiscuous mode for port 0: Operation not supported - ignore testpmd> quit Stopping port 0... Stopping ports... Done Shutting down port 0... Closing ports... 0000:7d:01.0 hns3vf_dev_close(): Close port 0 finished Done Bye... +++ exited with 0 +++ -----邮件原件----- 发件人: David Marchand [mailto:[email protected]] 发送时间: 2020年3月10日 23:28 收件人: humin (Q) <[email protected]> 抄送: [email protected]; Zhouchang (Forest) <[email protected]>; Xiedonghui <[email protected]>; liudongdong (C) <[email protected]>; lihuisong <[email protected]>; Huwei (Xavier) <[email protected]>; Burakov, Anatoly <[email protected]>; Thomas Monjalon <[email protected]>; Maxime Coquelin <[email protected]> 主题: Re: [RFC]app/testpmd: time-consuming question of mlockall function execution On Fri, Mar 6, 2020 at 6:49 PM David Marchand <[email protected]> wrote: > > On Wed, Feb 26, 2020 at 4:59 AM humin (Q) <[email protected]> wrote: > > We have another question about your patch. It seems that mlockall() also > > takes about two seconds after using this patch(about 0.2 seconds before > > using this patch), if we use "always" option for transparent hugepage > > configration. Is this reasonable and acceptable? > > Hard to tell what reasonable/acceptable mean. > I'd say "it depends" :-). > > > > If that is ok, when will the patch be uploaded to DPDK community? > > I sent a RFC earlier, that makes testpmd only lock pages containing text. > Can you have a try and report your findings? Let's forget about the change in testpmd. I came with a different fix in EAL. Can you have a try? http://patchwork.dpdk.org/patch/66469/ -- David Marchand

