<div dir="ltr"><div>I asked the following in the Slack channel, responding to Stephen and Thomas so asking in this thread as well to confirm:</div><div><br></div><div>
To confirm, the three steps in 3.1.1 Memory Setup: Reservering Hugepages at <a target="_blank" class="gmail-c-link" href="http://170.249.220.94/getting_started_guide/system_setup.html#system-setup-for-linux" rel="noopener noreferrer">http://170.249.220.94/getting_started_guide/system_setup.html#system-setup-for-linux</a> can be replaced with the following:</div><div><br></div><div>Memory Setup: Reserving Hugepages<span aria-label="" class="gmail-c-mrkdwn__br"></span><br></div><div>To simplify the hugepages setup, use the `dpdk-hugepages` script:<span aria-label="" class="gmail-c-mrkdwn__br"></span>  </div><div>sudo dpdk-hugepages --setup</div><div><br></div><div>
To confirm, the instructions in 3.1.2 Device Setup: VFIO at <a target="_blank" class="gmail-c-link" href="http://170.249.220.94/getting_started_guide/system_setup.html#device-setup-vfio" rel="noopener noreferrer">http://170.249.220.94/getting_started_guide/system_setup.html#device-setup-vfio</a> can be replaced with the following:</div><div><br></div><div>Device Setup: VFIO<span aria-label="" class="gmail-c-mrkdwn__br"></span><br></div><div>For VFIO setup, please refer to the `Kernel Documentation for VFIO <<a target="_blank" class="gmail-c-link" href="https://www.kernel.org/doc/html/latest/driver-api/vfio.html" rel="noopener noreferrer">https://www.kernel.org/doc/html/latest/driver-api/vfio.html</a>>`_.



</div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Thanks!<br>David Young<br>Professional Copywriter/Technical Writer<br>Young Copy<br></div><div>+1 (678) 500-9550<br></div><div><a href="https://www.youngcopy.com" target="_blank">https://www.youngcopy.com</a><br></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 25, 2023 at 8:22 AM Bruce Richardson <<a href="mailto:bruce.richardson@intel.com">bruce.richardson@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Sep 25, 2023 at 12:31:34PM +0100, Ferruh Yigit wrote:<br>
> On 9/20/2023 4:48 PM, David Young wrote:<br>
> > ---<br>
> >  .../getting_started_guide/system_setup.rst    | 195 ++++++++++++++++++<br>
> >  1 file changed, 195 insertions(+)<br>
> >  create mode 100644 doc/guides/getting_started_guide/system_setup.rst<br>
> > <br>
> > diff --git a/doc/guides/getting_started_guide/system_setup.rst b/doc/guides/getting_started_guide/system_setup.rst<br>
> > new file mode 100644<br>
> > index 0000000000..fa9d249ec7<br>
> > --- /dev/null<br>
> > +++ b/doc/guides/getting_started_guide/system_setup.rst<br>
> > @@ -0,0 +1,195 @@<br>
> > +..  SPDX-License-Identifier: BSD-3-Clause<br>
> > +    Copyright(c) 2010-2025 Intel Corporation.<br>
> > +<br>
> > +.. _memory_setup:<br>
> > +<br>
> > +.. |reg| unicode:: U+000AE<br>
> > +<br>
> > +Setting up a System to Run DPDK Applications<br>
> > +============================================<br>
> > +<br>
> > +This section provides step-by-step instructions for setting up your system to run DPDK applications. It covers system configurations for Linux, FreeBSD, and Windows. Each section details the necessary memory and device setups for these operating systems.<br>
> > +<br>
> > +Navigate to the section that corresponds to your operating system to begin the setup process.<br>
> > +<br>
> <br>
> Not sure above sentences adds value.<br>
> <br>
> <br>
> <br>
> > +.. contents:: Table of Contents<br>
> > +   :local:<br>
> > +<br>
> > +System Setup for Linux<br>
> > +----------------------<br>
> > +<br>
> > +Memory Setup: Reserving Hugepages<br>
> > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>
> > +<br>
> > +For Linux, DPDK requires hugepages be reserved for its use on the system. To check if hugepages are are on your system, you can run the following command::<br>
> > +<br>
> > +        grep HugePages_Total /proc/meminfo<br>
> > +<br>
> > +If hugepages are not reserved, you will need to reserve them by following these steps:<br>
> > +<br>
> > +1. Determine the number of hugepages you want to allocate. For example, to allocate 1024 hugepages of 2MB each, you can use the following command::<br>
> > +<br>
> > +        echo 1024 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages<br>
> > +<br>
> > +2. To make the hugepages configuration persistent across reboots, add the following line to your `/etc/sysctl.conf` file, adjusting the number of hugepages as needed::<br>
> > +<br>
> > +        vm.nr_hugepages = 1024<br>
> > +<br>
> > +3. Most distributions make hugepages available via `/dev/hugepages`, so this step may not be necessary. If you need to manually mount the hugepages filesystem, add the following line to your `/etc/fstab` file::<br>
> > +<br>
> > +        nodev /mnt/huge hugetlbfs defaults 0 0<br>
> > +<br>
> > +   Then, create the mount directory and mount the filesystem::<br>
> > +<br>
> > +        mkdir -p /mnt/huge<br>
> > +        mount -a<br>
> > +<br>
> ><br>
> <br>
> <br>
> We have './usertools/dpdk-hugepages.py' script for this, which I am<br>
> using regularly.<br>
> <br>
> Script is wrapper to what described above, so I think good to explain<br>
> basics, but also may worth mentioning from script, it is more user<br>
> friendly than above instructions.<br>
> <br>
Actually, if script can do all the basics - something I believe Stephen and<br>
Thomas also pointed out on a slack review earlier - then we should just<br>
drop the manual steps from here. If we think the script is sufficiently<br>
robust, we can drop them from the doc entirely, or if not, move them to an<br>
appendix which we reference here.<br>
<br>
/Bruce<br>
</blockquote></div>