From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 781FEA0597; Thu, 9 Apr 2020 14:33:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 21E601C1E0; Thu, 9 Apr 2020 14:33:46 +0200 (CEST) Received: from smtprelay06.ispgateway.de (smtprelay06.ispgateway.de [80.67.31.102]) by dpdk.org (Postfix) with ESMTP id D366C1C1D0 for ; Thu, 9 Apr 2020 14:33:44 +0200 (CEST) Received: from [95.90.46.11] (helo=nb-mweiser.local) by smtprelay06.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92.3) (envelope-from ) id 1jMWNK-00075z-DA; Thu, 09 Apr 2020 14:33:42 +0200 From: Martin Weiser To: "Lu, Wenzhuo" , konstantin.ananyev@intel.com, xiaolong.ye@intel.com, taox.zhu@intel.com, Ferruh Yigit Cc: "dev@dpdk.org" References: <35d734a2-34c4-3cc8-6e3e-58a17a7bb9da@allegro-packets.com> <25ebe98d-071e-a80a-fa87-42385f4cd72b@allegro-packets.com> Autocrypt: addr=martin.weiser@allegro-packets.com; prefer-encrypt=mutual; keydata= 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 MXWMClgW8ybd/hammQ== Message-ID: <76e82b41-3a76-6c6e-bb47-1f9e0809a153@allegro-packets.com> Date: Thu, 9 Apr 2020 14:33:41 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <25ebe98d-071e-a80a-fa87-42385f4cd72b@allegro-packets.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Df-Sender: bWFydGluLndlaXNlckBhbGxlZ3JvLXBhY2tldHMuY29t Subject: Re: [dpdk-dev] net/ixgbe: ixgbe_dev_link_update_share() leaks memory and memory mappings due to not cleaning up pthreads X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Sorry, please ignore my previous statement about this having been reworked in master. I was comparing to the wrong checkout. This issue seems to be still present in the current master. Am 09.04.20 um 14:06 schrieb Martin Weiser: > Hi, > > I should have mentioned that our findings apply to DPDK 20.02. I can see > in master that this since has been reworked to use rte_eal_alarm_set() > instead of using a thread. > But maybe this should be addressed in stable? > > Best regards, > Martin Weiser > > > Am 09.04.20 um 12:30 schrieb Martin Weiser: >> Hi, >> >> we recently discovered that our application was not able to create new >> threads or perform mmaps after some time. >> With some digging we identified the function >> ixgbe_dev_link_update_share() to be the reason for this behavior. >> >> In the patch "net/ixgbe: fix blocking system events" >> (819d0d1d57f17aa40321648e99a50b49adc7bdf6) a thread is introduced to >> run ixgbe_dev_setup_link_thread_handler(). >> Unfortunately this thread is not detached and just joined (the very >> last one spawned that is) through ixgbe_dev_cancel_link_thread() upon >> interface start/stop. >> >> When an application repeatedly calls e.g. rte_eth_link_get_nowait() on >> an ixgbe interface with no link this causes a lot of pthreads never to >> be cleaned up. >> Since each thread holds a mmap to the stack this can quite quickly >> exhaust the allowed number of memory mappings for the process. >> >> Best regards, >> Martin Weiser >>