Bug 1949850 - [RFE] Stop configuring '--socket-mem'/'--socket-limit' by default for DPDK if not requested.
Summary: [RFE] Stop configuring '--socket-mem'/'--socket-limit' by default for DPDK if...
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: openvswitch2.15
Version: FDP 21.E
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Open vSwitch development team
QA Contact: liting
Depends On:
TreeView+ depends on / blocked
Reported: 2021-04-15 09:05 UTC by Eelco Chaudron
Modified: 2021-08-14 04:49 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed:
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FD-1233 0 None None None 2021-08-14 04:49:02 UTC

Internal Links: 1985506

Description Eelco Chaudron 2021-04-15 09:05:00 UTC
No need to artificially limit the amount of available memory. 

Suggestion from Ilya, so please contact him if you need more details.

Comment 1 Ilya Maximets 2021-06-24 13:24:06 UTC
Here is a short description on what should be done in this task in
my opinion:

The task could be finished in 2 steps (2 patches):

1. Stop providing default socket-mem if not configured, because it's
   not required by DPDK.  Rationale for this is the fact that OVS does
   that historically, because it was not possible to use DPDK without
   configuring socket-mem and OVS wanted to provide some sensible
   default value, so users will not be obligated to specify anything
   for a simple setup.
   Current DPDK uses dynamic memory allocation by default and doesn't
   require socket-mem option, which also changed its meaning from the
   "total amount of allocated memory" to "amount of pre-allocated memory".

2. Stop matching socket-mem with socket-limit if socket-limit is not set.
   If user configures socket-mem and doesn't configure socket-limit, this
   should mean that user doesn't want the memory to be limited.  If user
   wants memory to be limited, they should configure socket-limit.

In general EAL arguments should look like this:

- dpdk-socket-mem=<not set>, dpdk-socket-limit=<not set>
  current: "--scket-mem=1024,1024 --socket-limit=1024,1024"
  step 1 : ""
  step 2 : ""

- dpdk-socket-mem=<MEM>, dpdk-socket-limit=<not set>
  current: "--scket-mem=MEM --socket-limit=MEM"
  step 1 : "--scket-mem=MEM --socket-limit=MEM"
  step 2 : "--scket-mem=MEM"

- dpdk-socket-mem=<not set>, dpdk-socket-limit=<LIMIT>
  current: "--scket-mem=1024,1024 --socket-limit=LIMIT"
  step 1 : "--socket-limit=LIMIT"
  step 2 : "--socket-limit=LIMIT"

- dpdk-socket-mem=<MEM>, dpdk-socket-limit=<LIMIT>
  current: "--scket-mem=MEM --socket-limit=LIMIT"
  step 1 : "--scket-mem=MEM --socket-limit=LIMIT"
  step 2 : "--scket-mem=MEM --socket-limit=LIMIT"

Above cases could be extrapolated to cases where values passed
via dpdk-extra.  Also we should assume that if someone uses
'--legacy-mem'. they should have socket-mem configured one way or
another and OVS should not care about this scenario or try to add
some default values.

Note You need to log in before you can comment on or make changes to this bug.