From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3DA58A00C2 for ; Thu, 3 Nov 2022 10:29:01 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 38CD240694; Thu, 3 Nov 2022 10:29:01 +0100 (CET) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mails.dpdk.org (Postfix) with ESMTP id 46A2740693 for ; Thu, 3 Nov 2022 10:29:00 +0100 (CET) Received: by mail-wr1-f41.google.com with SMTP id a14so1718258wru.5 for ; Thu, 03 Nov 2022 02:29:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TDKpbmQwnbzvPtIwIAan5h0rG8dbxmfVM1llllvO9oE=; b=WJNaP5XlxIczmULoAm+T4jN/0fLWBehCa+A1nlbd0lV4U7Sw4SCU/+b4Lj4DNVfp+3 bqpvheRJqx60m0g5wPuZp7lDC7j9f2bnz+n2YoTPoZlRI1up0MS84HDy1xLc5/ZhsjM3 Xrk/cn19erTVXC1MfGUw1MXi+QkjZGMz/+9D1WtaH0vampdD+/+vTSmsfYnBHhoZshJB R9oX0Wb8r+pIanCGoQ+YNP8klpPd3GKgOs/lcgZnYpTiyl1XjF6BhSsy9puWg5UpAJ+d 2vuEp7Ce91vg66dIfnrZ4tfkNnbvl5hwTl/ubZc3YxRWquQDwLYrglslzTZ+65qvshf/ Ik2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TDKpbmQwnbzvPtIwIAan5h0rG8dbxmfVM1llllvO9oE=; b=YKqx2hie1vX4L5x+039+wEOSLAolCHk2BKobT5YS0LkeC8n39Oqxd4dI1jp3swFqwD lTSJbpNpnNeYCUmp5qO2R7E6Twbl6FuoQ75u9Ko6C2D8IFSriFEMTK8CjuXUBFN1swHl YYqXDoS7XgydMVZt/NTHipx36RG2dIVmTYaX8KfhUj8n68XaWJpYv1rDFGLs/uQKer0K gHttopxP+Z4jO2HMHmMNPpFzCgAnD5rDYwpxtLOz6yFoV4OL954GgK6oF+wuLQfDJs3K ImWiFqiV7uAygHZtP83KXF5tV4Eqs3h/jRTyJPCGVx6w2d7B4yZCjlYsBh7QWfbOTPWs Ujww== X-Gm-Message-State: ACrzQf2jycbevKPeqz/qFuDN2p0dtHEhnFpWxbHSwMyz0nvy/4lXDDlH caS2QycFOvTVk3tiRFOA+zAmtSQAChn0vg== X-Google-Smtp-Source: AMsMyM5OPLzowEB6pmpjwG3uqzzK1BNtnTvEJNcsRpPkINpmNPk8hy4pmmw5D4s1yoykzl7I/p/nGg== X-Received: by 2002:a5d:680a:0:b0:236:b797:5d80 with SMTP id w10-20020a5d680a000000b00236b7975d80mr16481640wru.403.1667467739953; Thu, 03 Nov 2022 02:28:59 -0700 (PDT) Received: from localhost ([2a01:4b00:d307:1000:f1d3:eb5e:11f4:a7d9]) by smtp.gmail.com with ESMTPSA id f17-20020a05600c4e9100b003cf7292c553sm808133wmq.13.2022.11.03.02.28.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 02:28:59 -0700 (PDT) From: luca.boccassi@gmail.com To: Fidaullah Noonari Cc: Dmitry Kozlyuk , dpdk stable Subject: patch 'malloc: fix storage size for some allocations' has been queued to stable release 20.11.7 Date: Thu, 3 Nov 2022 09:26:34 +0000 Message-Id: <20221103092758.1099402-16-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221103092758.1099402-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 20.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/05/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/c610b6069a2c5ff08d87650d7f1fb8a613ef49ba Thanks. Luca Boccassi --- >From c610b6069a2c5ff08d87650d7f1fb8a613ef49ba Mon Sep 17 00:00:00 2001 From: Fidaullah Noonari Date: Thu, 28 Jul 2022 14:41:03 +0500 Subject: [PATCH] malloc: fix storage size for some allocations [ upstream commit f92b9ebed03dbd140a5a7b921cb898e661a59068 ] The amount of memory to allocate from the system for heap expansion was calculated in a way that may yield one page more than needed. This could hit the allocation limit from the system or EAL. The allocation would fail despite enough memory being available. In response to mail: https://inbox.dpdk.org/dev/CAEYuUWCnRZNwxiOHEeTHw0Gy9aFJRLZtvAG9g=smuUvUEMcFXg@mail.gmail.com/ A reproducer has been provided by Dmitry, see: https://inbox.dpdk.org/dev/20220922015212.03bfde66@sovereign/ Fixes: 07dcbfe0101f ("malloc: support multiprocess memory hotplug") Signed-off-by: Fidaullah Noonari Acked-by: Dmitry Kozlyuk --- lib/librte_eal/common/malloc_heap.c | 2 +- lib/librte_eal/common/malloc_mp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c index f4e20eab92..7a5c56be97 100644 --- a/lib/librte_eal/common/malloc_heap.c +++ b/lib/librte_eal/common/malloc_heap.c @@ -396,7 +396,7 @@ try_expand_heap_primary(struct malloc_heap *heap, uint64_t pg_sz, int n_segs; bool callback_triggered = false; - alloc_sz = RTE_ALIGN_CEIL(align + elt_size + + alloc_sz = RTE_ALIGN_CEIL(RTE_ALIGN_CEIL(elt_size, align) + MALLOC_ELEM_OVERHEAD, pg_sz); n_segs = alloc_sz / pg_sz; diff --git a/lib/librte_eal/common/malloc_mp.c b/lib/librte_eal/common/malloc_mp.c index f9d558ba64..8b2f06720b 100644 --- a/lib/librte_eal/common/malloc_mp.c +++ b/lib/librte_eal/common/malloc_mp.c @@ -185,7 +185,7 @@ handle_alloc_request(const struct malloc_mp_req *m, int n_segs; void *map_addr; - alloc_sz = RTE_ALIGN_CEIL(ar->align + ar->elt_size + + alloc_sz = RTE_ALIGN_CEIL(RTE_ALIGN_CEIL(ar->elt_size, ar->align) + MALLOC_ELEM_OVERHEAD, ar->page_sz); n_segs = alloc_sz / ar->page_sz; -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-03 09:27:26.446986691 +0000 +++ 0016-malloc-fix-storage-size-for-some-allocations.patch 2022-11-03 09:27:25.321421435 +0000 @@ -1 +1 @@ -From f92b9ebed03dbd140a5a7b921cb898e661a59068 Mon Sep 17 00:00:00 2001 +From c610b6069a2c5ff08d87650d7f1fb8a613ef49ba Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f92b9ebed03dbd140a5a7b921cb898e661a59068 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -23,2 +24,2 @@ - lib/eal/common/malloc_heap.c | 2 +- - lib/eal/common/malloc_mp.c | 2 +- + lib/librte_eal/common/malloc_heap.c | 2 +- + lib/librte_eal/common/malloc_mp.c | 2 +- @@ -27,5 +28,5 @@ -diff --git a/lib/eal/common/malloc_heap.c b/lib/eal/common/malloc_heap.c -index 27a52266ad..d7c410b786 100644 ---- a/lib/eal/common/malloc_heap.c -+++ b/lib/eal/common/malloc_heap.c -@@ -402,7 +402,7 @@ try_expand_heap_primary(struct malloc_heap *heap, uint64_t pg_sz, +diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c +index f4e20eab92..7a5c56be97 100644 +--- a/lib/librte_eal/common/malloc_heap.c ++++ b/lib/librte_eal/common/malloc_heap.c +@@ -396,7 +396,7 @@ try_expand_heap_primary(struct malloc_heap *heap, uint64_t pg_sz, @@ -40,7 +41,7 @@ -diff --git a/lib/eal/common/malloc_mp.c b/lib/eal/common/malloc_mp.c -index 0c2624c62d..7270c2ec90 100644 ---- a/lib/eal/common/malloc_mp.c -+++ b/lib/eal/common/malloc_mp.c -@@ -250,7 +250,7 @@ handle_alloc_request(const struct malloc_mp_req *m, - return -1; - } +diff --git a/lib/librte_eal/common/malloc_mp.c b/lib/librte_eal/common/malloc_mp.c +index f9d558ba64..8b2f06720b 100644 +--- a/lib/librte_eal/common/malloc_mp.c ++++ b/lib/librte_eal/common/malloc_mp.c +@@ -185,7 +185,7 @@ handle_alloc_request(const struct malloc_mp_req *m, + int n_segs; + void *map_addr;