|
From: | Joel Cunningham |
Subject: | [lwip-devel] [patch #9628] loopif: only schedule poll when first packet is enqueued |
Date: | Fri, 27 Apr 2018 18:51:28 -0400 (EDT) |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0 |
URL: <http://savannah.nongnu.org/patch/?9628> Summary: loopif: only schedule poll when first packet is enqueued Project: lwIP - A Lightweight TCP/IP stack Submitted by: jcunningham Submitted on: Fri 27 Apr 2018 10:51:27 PM UTC Category: Network drivers Priority: 5 - Normal Status: None Privacy: Public Assigned to: jcunningham Originator Email: Open/Closed: Open Discussion Lock: Any Planned Release: None _______________________________________________________ Details: RFC on attached patch that optimizes the netif_loop_output to only schedule a call to poll when the first packet is enqueued. This ensures netif_poll is ran once per burst of packets that are sent (which is typical in a TCP transfer). The old behavior scheduled a call to poll for every packet that was enqueued and this lead to exhaustion of the MEMP_TCPIP_MSG_API memory pool and tcpip_mbox (if port is using static mbox size). The extra callbacks are wasted work because netif_poll drains the entire queue when ran. This issue presented itself when large TCP transfer go across the loopback netif. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Fri 27 Apr 2018 10:51:27 PM UTC Name: 0001-loopif-only-schedule-poll-when-first-packet-is-enque.patch Size: 2KiB By: jcunningham <http://savannah.nongnu.org/patch/download.php?file_id=44050> _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/patch/?9628> _______________________________________________ Message sent via Savannah https://savannah.nongnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |