From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 789BB46269
	for <public@inbox.dpdk.org>; Wed, 19 Feb 2025 15:23:00 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 0B5C340EF0;
	Wed, 19 Feb 2025 15:23:00 +0100 (CET)
Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com
 [209.85.208.51]) by mails.dpdk.org (Postfix) with ESMTP id 8E05C40E6E
 for <users@dpdk.org>; Wed, 19 Feb 2025 15:22:58 +0100 (CET)
Received: by mail-ed1-f51.google.com with SMTP id
 4fb4d7f45d1cf-5e050b1491eso1698743a12.0
 for <users@dpdk.org>; Wed, 19 Feb 2025 06:22:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1739974978; x=1740579778; darn=dpdk.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=VhzjSM+WAzQCWx9OYXmCqsVZjvDeUgWadgJP85qXxOs=;
 b=kRYyvLQLEjwLjt4Q/pMyvKMJ5lNCxWt6EuPmrAsm79ymmYOFyytyF/TVf+2TvG1VI0
 MXFQAuIeWUmwm6BOdjwQr9f/+6SVhiPgVydINcRwetIiOUc3wEZdzj6M6PwYOIP0XW5V
 tehUwboOIueUHtvTqlbKIZQVIHA+1ogN6Ch57UALdvrnWJlK+CSs3IXcUB9ySzPl1CGG
 Ul6LSG1EOdaUnN2NAGed1z2BTIrzwJoORmc+UpMaF6994/OtjZMiIDLKmA8Tpiz2rlgX
 mYflfsWYUP2YZLy8lJcGf4cQZVmAtXBQbDwpAEaT4h563LfrJR6oEIY5I9fArGUqo9Lf
 u3lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1739974978; x=1740579778;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=VhzjSM+WAzQCWx9OYXmCqsVZjvDeUgWadgJP85qXxOs=;
 b=umAP6bvaCDmuD5UYb7ZRBcrEUWJZ+VYjkrfB+Ev7S9pHWftTVePxrdSF6DjsolJN7o
 FYXImdLOdEzS+66BJlVMXj85hHBRr39zrFLBtBf4TtNczAYySHCrcNzSXInwa25/DMYe
 w9VZ0UMbwNmjd4gjNS4D1+EhbrqPYHqT3VagmdBJuGNLqAi+PjKpujbTs+DYl08o/wpi
 TnF6wyXB3mqh+lTO31SGGVl6hMYd/ydwBDzrqyAHJ3uTr2vjh43Tpihx3fWte3R/Cuql
 MF3x+jKa0KRGAQIRh+04cLoLOzRRkxRdKxA64RtOADelFUGHRp29EpGTrjXBS4FUH8It
 BNXQ==
X-Gm-Message-State: AOJu0Yy+P3N468ghalNDqM8yPFxy6F6+qqlpE0wNckj3KNbBISWBJcqi
 ptRZ2PDG7FrXe0DPDcHDAExjBEz6/85G1sEET4XJy+si2xh9zW0GlaewqPiv/aSLocZV3MYvUnN
 k7RV/XQ75icEeOezowPNNerLNTlhleMia
X-Gm-Gg: ASbGncsGGFrPXjr+xx2S8+EfTy6pga9UOyG8ArCwMj0SjswilyndoTaYPgqEJrbFxzv
 LZfG62/TVnMCRgMYIoZ5ZO6lJrFHYr5CwgP+wrceaKMm4uUFo5VFBHE//y0Wq9XEHT++/6sM=
X-Google-Smtp-Source: AGHT+IGaPCf32li+DshWoJs4oaNrYwvSizu0QCV/yFjvsiKPELLMRVoh/f0oVUEnH+d5OfBAoAraf06dhKWyNo6N6ms=
X-Received: by 2002:a05:6402:400b:b0:5db:68bd:ab78 with SMTP id
 4fb4d7f45d1cf-5e088de10d5mr4690424a12.10.1739974977506; Wed, 19 Feb 2025
 06:22:57 -0800 (PST)
MIME-Version: 1.0
From: Lucas <lucascrijns@gmail.com>
Date: Wed, 19 Feb 2025 15:22:46 +0100
X-Gm-Features: AWEUYZmwrT_odSdk-LYHNt4UPc70NS22gG8kPEGPbPyCAxCzxm2a33dnDS4flqs
Message-ID: <CADTTPn8Cgu3ShDWWGdd9whQQAmiFH9x9MaweZ4DR3XHdcww6Eg@mail.gmail.com>
Subject: Increase DPDK's virtual memory to more than 512 GiB
To: users@dpdk.org
Content-Type: multipart/alternative; boundary="00000000000073d364062e7f7e3c"
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org

--00000000000073d364062e7f7e3c
Content-Type: text/plain; charset="UTF-8"

Hello,

I am creating an application where I want to cache packets in a ring for a
certain duration. To do so at high speed (100 Gb/s) for tens of seconds, I
would like to create a mempool with a size bigger than 500 GiB.
I know that in rte_config.h, we have this excerpt:
```
#define RTE_MAX_MEMSEG_LISTS 128
...
#define RTE_MAX_MEM_MB_PER_LIST 32768
```
4'194'304 MiB of addressable memory, which is more than enough. However,
there is a virtual memory limit on DPDK processes on x86_64, which appears
to be 512 GiB.
at https://doc.dpdk.org/guides/prog_guide/env_abstraction_layer.html it is
listed that RTE_MAX_MEM_MB controls that.
In the meson.build file in the config directory, we have:
```
if dpdk_conf.get('RTE_ARCH_64')
    dpdk_conf.set('RTE_MAX_MEM_MB', 524288)
else # for 32-bit we need smaller reserved memory areas
    dpdk_conf.set('RTE_MAX_MEM_MB', 2048)
endif
```
Changing this value does not seem to change the amount of virtual memory
that DPDK allocates. It appears that no headers or C-files actually
reference this value.
What would I need to change to allow more virtual memory than 512 GiB and
be able to allocate a mempool with a size bigger than that?

Thank you in advance for any pointers!

Kind regards,
Lucas Crijns

--00000000000073d364062e7f7e3c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello,</div><div><br></div><div>I am creating an appl=
ication where I want to cache packets in a ring for a certain duration. To =
do so at high speed (100 Gb/s) for tens of seconds, I would like to create =
a mempool with a size bigger than 500 GiB.</div><div>I know that in rte_con=
fig.h, we have this excerpt:</div><div>```</div><div>#define RTE_MAX_MEMSEG=
_LISTS 128<br>...<br>#define RTE_MAX_MEM_MB_PER_LIST 32768</div><div>```</d=
iv><div>4&#39;194&#39;304 MiB of addressable memory, which is more than eno=
ugh. However, there is a virtual memory limit on DPDK processes on x86_64, =
which appears to be 512 GiB. <br></div><div>at <a href=3D"https://doc.dpdk.=
org/guides/prog_guide/env_abstraction_layer.html">https://doc.dpdk.org/guid=
es/prog_guide/env_abstraction_layer.html</a> it is listed that RTE_MAX_MEM_=
MB controls that.</div><div>In the meson.build file in the config directory=
, we have: <br></div><div>```</div><div>if dpdk_conf.get(&#39;RTE_ARCH_64&#=
39;)<br>=C2=A0 =C2=A0 dpdk_conf.set(&#39;RTE_MAX_MEM_MB&#39;, 524288)<br>el=
se # for 32-bit we need smaller reserved memory areas<br>=C2=A0 =C2=A0 dpdk=
_conf.set(&#39;RTE_MAX_MEM_MB&#39;, 2048)<br>endif</div><div>```</div><div>=
Changing this value does not seem to change the amount of virtual memory th=
at DPDK allocates. It appears that no headers or C-files actually reference=
 this value.</div><div>What would I need to change to allow more virtual me=
mory than 512 GiB and be able to allocate a mempool with a size bigger than=
 that?</div><div><br></div><div>Thank you in advance for any pointers!<br><=
/div><div><br></div><div>Kind regards,</div><div>Lucas Crijns<br></div></di=
v>

--00000000000073d364062e7f7e3c--