| f6ed136a | 16-Feb-2022 |
Timothy McDaniel <[email protected]> |
event/dlb2: poll HW CQ inflights before mapping queue
When attempting to link a port and queue immediately after unlinking, the CQ inflights may not all be processed. Poll the h/w register for outst
event/dlb2: poll HW CQ inflights before mapping queue
When attempting to link a port and queue immediately after unlinking, the CQ inflights may not all be processed. Poll the h/w register for outstanding inflights instead of reading once, in case the inflights are still being processed. Also return EBUSY if the inflight processing is not completed in a suitable amount of time.
Fixes: 1857f1922ce2 ("event/dlb2: use new implementation of resource file") Cc: [email protected]
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 5fe46ce0 | 15-Nov-2021 |
Rashmi Shetty <[email protected]> |
event/dlb2: fix delayed pop test in selftest
Number of events scheduled and available for dequeue after token pop was set to dequeue_depth-1 instead of dequeue_depth in test_delayed_pop. The expecta
event/dlb2: fix delayed pop test in selftest
Number of events scheduled and available for dequeue after token pop was set to dequeue_depth-1 instead of dequeue_depth in test_delayed_pop. The expectation is that all dequeue_depth number of events can be dequeued once the last event is released.
Fixes: 07d55c418d47 ("event/dlb2: add delayed token pop logic") Cc: [email protected]
Signed-off-by: Rashmi Shetty <[email protected]> Reviewed-by: Mike Ximing Chen <[email protected]>
show more ...
|
| fcc5489c | 21-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: select scalar dequeue by default
Optimized dequeue using x86 vector instructions was added in 21.05, but due to limited testing the default has been changed back to the scalar mode imple
event/dlb2: select scalar dequeue by default
Optimized dequeue using x86 vector instructions was added in 21.05, but due to limited testing the default has been changed back to the scalar mode implementation. The vector mode implementation can be enabled via the devargs option "vector_opts_enabled=<y/Y>".
Fixes: 000a7b8e7582 ("event/dlb2: optimize dequeue operation")
Signed-off-by: Timothy McDaniel <[email protected]> Signed-off-by: David Marchand <[email protected]>
show more ...
|
| d05072fc | 21-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: fix extraction of HW scheduling type
The HW scheduling type was not being extracted properly in the vector optimized dequeue path. It was also not being recorded in the xstats.
Fixes: 0
event/dlb2: fix extraction of HW scheduling type
The HW scheduling type was not being extracted properly in the vector optimized dequeue path. It was also not being recorded in the xstats.
Fixes: 000a7b8e7582 ("event/dlb2: optimize dequeue operation")
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 000a7b8e | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: optimize dequeue operation
Convert code to use x86 vector instructions, thereby significantly improving dequeue performance.
Signed-off-by: Timothy McDaniel <[email protected]>
event/dlb2: optimize dequeue operation
Convert code to use x86 vector instructions, thereby significantly improving dequeue performance.
Signed-off-by: Timothy McDaniel <[email protected]> Signed-off-by: Harry van Haaren <[email protected]>
show more ...
|
| 7be66a3b | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: update config defines as runtime options
The new devarg names and their default values are listed below. The defaults have not changed, and none of these parameters are accessed in the f
event/dlb2: update config defines as runtime options
The new devarg names and their default values are listed below. The defaults have not changed, and none of these parameters are accessed in the fast path.
poll_interval=1000 sw_credit_quantai=32 default_depth_thresh=256
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| d4a06a39 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: use new combined register map
All references to the old register map have been removed, so it is safe to rename the new combined file that supports both DLB v2.0 and DLB v2.5. Also fixed
event/dlb2: use new combined register map
All references to the old register map have been removed, so it is safe to rename the new combined file that supports both DLB v2.0 and DLB v2.5. Also fixed all places where this file is included.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 037a6167 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: use new implementation of HW types header
As support for DLB v2.5 was added, modifications were made to dlb_hw_types_new.h, but the old file needed to be preserved during the port in ord
event/dlb2: use new implementation of HW types header
As support for DLB v2.5 was added, modifications were made to dlb_hw_types_new.h, but the old file needed to be preserved during the port in order to meet the requirement that individual patches in a series each compile successfully. Since the DLB v2.5 support is completely integrated, it is now safe to remove the old (original) file, as well as the DLB2_USE_NEW_HEADERS define that was used to control which version of the file was to be included in certain source files. It is now safe to rename the new file, and use it unconditionally in all DLB source files.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 1857f192 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: use new implementation of resource file
The file dlb_resource_new.c now contains all of the low level functions required to support both DLB v2.0 and DLB v2.5, and the original file (dlb
event/dlb2: use new implementation of resource file
The file dlb_resource_new.c now contains all of the low level functions required to support both DLB v2.0 and DLB v2.5, and the original file (dlb_resource.c) was removed in the previous commit, so rename dlb_resource_new.c to dlb_resource.c, and update the meson build file so that the new file is built.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 537399a9 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 sequence number management
Update the low level HW functions that perform the sequence number management functions. These include getting a groups number of sequence numbers per
event/dlb2: add v2.5 sequence number management
Update the low level HW functions that perform the sequence number management functions. These include getting a groups number of sequence numbers per queue, managing in-use slots, getting the current occupancy, and setting sequence numbers for a group.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| faa60718 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 sparse CQ mode
Update the low level HW functions responsible for configuring sparse CQ mode, where each cache line contains just one QE instead of 4.
The logic is very similar
event/dlb2: add v2.5 sparse CQ mode
Update the low level HW functions responsible for configuring sparse CQ mode, where each cache line contains just one QE instead of 4.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|