> > No, it is not PMD that runs the processor in a polling loop. > It is the application itself, thay may or may not busy loop, > depending on application programmers choice. >
>From one of my earlier references [2]: "we found that a poll mode driver (PMD) thread accounted for approximately 99.7 percent CPU occupancy (a full core utilization)." And further on: "we found that the thread kept spinning on the following code block: *for ( ; ; ) {for ( i = 0; i < poll_cnt; i ++) {dp_netdev_process_rxq_port (pmd, list[i].port, poll_list[i].rx) ;}}* This indicates that the thread was continuously monitoring and executing the receiving data path." [2] S. Fu, J. Liu, and W. Zhu, “Multimedia Content Delivery with Network Function Virtualization: The Energy Perspective,” IEEE MultiMedia, vol. 24, no. 3, pp. 38–47, 2017, ISSN: 1941-0166. DOI: 10.1109/MMUL.2017.3051514. On Tue, Feb 23, 2021 at 12:59 PM Pawel Malachowski < pawmal-na...@freebsd.lublin.pl> wrote: > Dnia Mon, Feb 22, 2021 at 12:45:52PM +0100, Etienne-Victor Depasquale > napisał(a): > > > Every research paper I've read indicates that, regardless of whether it > has > > packets to process or not, DPDK PMDs (poll-mode drivers) prevent the CPU > > from falling into an LPI (low-power idle). > > > > When it has no packets to process, the PMD runs the processor in a > polling > > loop that keeps utilization of the running core at 100%. > > No, it is not PMD that runs the processor in a polling loop. > It is the application itself, thay may or may not busy loop, > depending on application programmers choice. > > > -- > Pawel Malachowski > @pawmal80 > -- Ing. Etienne-Victor Depasquale Assistant Lecturer Department of Communications & Computer Engineering Faculty of Information & Communication Technology University of Malta Web. https://www.um.edu.mt/profile/etiennedepasquale