doc: clarify mempool striding optimisation on Arm
Checks
Commit Message
The mempool memory channel striding optimisation is not necessary on
Arm platforms.
Update the Programmer's Guide's mempool section to clarify this.
Signed-off-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
doc/guides/prog_guide/mempool_lib.rst | 6 ++++++
1 file changed, 6 insertions(+)
Comments
On Mon, 15 Jul 2024 15:44:20 +0100
Jack Bond-Preston <jack.bond-preston@foss.arm.com> wrote:
> The mempool memory channel striding optimisation is not necessary on
> Arm platforms.
> Update the Programmer's Guide's mempool section to clarify this.
>
> Signed-off-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
> Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
> ---
The whole memory channels argument has been a problem from day 0 of DPDK.
There is no good way to find it from the OS, and it was never clear how much impact
it had anyway. It would simplify users experience if it was deprecated or at least
not required and rarely used.
On Tue, Jul 16, 2024 at 07:25:41PM -0700, Stephen Hemminger wrote:
> On Mon, 15 Jul 2024 15:44:20 +0100
> Jack Bond-Preston <jack.bond-preston@foss.arm.com> wrote:
>
> > The mempool memory channel striding optimisation is not necessary on
> > Arm platforms.
> > Update the Programmer's Guide's mempool section to clarify this.
> >
> > Signed-off-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
> > Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
> > ---
>
> The whole memory channels argument has been a problem from day 0 of DPDK.
> There is no good way to find it from the OS, and it was never clear how much impact
> it had anyway. It would simplify users experience if it was deprecated or at least
> not required and rarely used.
The default for mempools (at least on x86) is set to 4 which is a
reasonable value, and so specifying memory channels is not really required
for running DPDK in most cases (I never use the -n flag when running tests
myself). While I don't think we should deprecate the option, I feel it
should be removed from our examples and scripts. Hopefully in future a
method of determining memory channels from code can be come up with that we
can use, but in the meantime using a sane default I feel is good enough.
/Bruce
15/07/2024 16:44, Jack Bond-Preston:
> The mempool memory channel striding optimisation is not necessary on
> Arm platforms.
> Update the Programmer's Guide's mempool section to clarify this.
>
> Signed-off-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
> Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
> ---
> +.. note::
> +
> + This feature is not present for Arm systems. Modern Arm Interconnects choose the SN-F (memory
> + channel) using a hash of memory address bits. As a result, the load is distributed evenly in all
> + cases, including the above described, rendering this feature unnecessary.
Applied with indentation changes, thanks.
@@ -77,6 +77,12 @@ When creating a new pool, the user can specify to use this feature or not.
.. _mempool_local_cache:
+.. note::
+
+ This feature is not present for Arm systems. Modern Arm Interconnects choose the SN-F (memory
+ channel) using a hash of memory address bits. As a result, the load is distributed evenly in all
+ cases, including the above described, rendering this feature unnecessary.
+
Local Cache
-----------