X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fguides%2Feventdevs%2Fdlb2.rst;h=bce984ca08f971c9c17310b51fe383515d8f40b3;hb=2e3dbc80cc012f11799c7eda866e1168dadb5032;hp=31de6bc4709d258bd2fd9e2ff9d03be5837e8359;hpb=7c6cc633fc7dabc39b14348b29d6bb3deb696d23;p=dpdk.git diff --git a/doc/guides/eventdevs/dlb2.rst b/doc/guides/eventdevs/dlb2.rst index 31de6bc470..bce984ca08 100644 --- a/doc/guides/eventdevs/dlb2.rst +++ b/doc/guides/eventdevs/dlb2.rst @@ -152,19 +152,19 @@ These pools' sizes are controlled by the nb_events_limit field in struct rte_event_dev_config. The load-balanced pool is sized to contain nb_events_limit credits, and the directed pool is sized to contain nb_events_limit/4 credits. The directed pool size can be overridden with the -num_dir_credits vdev argument, like so: +num_dir_credits devargs argument, like so: .. code-block:: console - --vdev=dlb2_event,num_dir_credits= + --allow ea:00.0,num_dir_credits= This can be used if the default allocation is too low or too high for the -specific application needs. The PMD also supports a vdev arg that limits the +specific application needs. The PMD also supports a devarg that limits the max_num_events reported by rte_event_dev_info_get(): .. code-block:: console - --vdev=dlb2_event,max_num_events= + --allow ea:00.0,max_num_events= By default, max_num_events is reported as the total available load-balanced credits. If multiple DLB-based applications are being used, it may be desirable @@ -293,27 +293,6 @@ The PMD does not support the following configuration sequences: This sequence is not supported because the event device must be reconfigured before its ports or queues can be. -Deferred Scheduling -~~~~~~~~~~~~~~~~~~~ - -The DLB PMD's default behavior for managing a CQ is to "pop" the CQ once per -dequeued event before returning from rte_event_dequeue_burst(). This frees the -corresponding entries in the CQ, which enables the DLB to schedule more events -to it. - -To support applications seeking finer-grained scheduling control -- for example -deferring scheduling to get the best possible priority scheduling and -load-balancing -- the PMD supports a deferred scheduling mode. In this mode, -the CQ entry is not popped until the *subsequent* rte_event_dequeue_burst() -call. This mode only applies to load-balanced event ports with dequeue depth of -1. - -To enable deferred scheduling, use the defer_sched vdev argument like so: - - .. code-block:: console - - --vdev=dlb2_event,defer_sched=on - Atomic Inflights Allocation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -336,11 +315,11 @@ buffer space (e.g. if not all queues are used, or aren't used for atomic scheduling). The PMD provides a dev arg to override the default per-queue allocation. To -increase a vdev's per-queue atomic-inflight allocation to (for example) 64: +increase per-queue atomic-inflight allocation to (for example) 64: .. code-block:: console - --vdev=dlb2_event,atm_inflights=64 + --allow ea:00.0,atm_inflights=64 QID Depth Threshold ~~~~~~~~~~~~~~~~~~~ @@ -363,9 +342,9 @@ shown below. .. code-block:: console - --vdev=dlb2_event,qid_depth_thresh=all: - --vdev=dlb2_event,qid_depth_thresh=qidA-qidB: - --vdev=dlb2_event,qid_depth_thresh=qid: + --allow ea:00.0,qid_depth_thresh=all: + --allow ea:00.0,qid_depth_thresh=qidA-qidB: + --allow ea:00.0,qid_depth_thresh=qid: Class of service ~~~~~~~~~~~~~~~~ @@ -387,4 +366,17 @@ Class of service can be specified in the devargs, as follows .. code-block:: console - --vdev=dlb2_event,cos=<0..4> + --allow ea:00.0,cos=<0..4> + +Use X86 Vector Instructions +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +DLB supports using x86 vector instructions to optimize the data path. + +The default mode of operation is to use scalar instructions, but +the use of vector instructions can be enabled in the devargs, as +follows + + .. code-block:: console + + --allow ea:00.0,vector_opts_enabled=