net/mlx5: DR, Change SWS usage to debug fs seq_file interface
authorHamdan Igbaria <hamdani@nvidia.com>
Thu, 16 Nov 2023 11:51:01 +0000 (13:51 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Tue, 6 Feb 2024 00:45:53 +0000 (16:45 -0800)
commit917d1e799ddf9492bd0c71a23d84af0b6bb12bae
treeff89a91385ec85da1941717cb7486f504780d868
parent507472ed0e37244e7703378409407b0606de6077
net/mlx5: DR, Change SWS usage to debug fs seq_file interface

In current SWS debug dump mechanism we implement the seq_file interface,
but we only implement the 'show' callback to dump the whole steering DB
with a single call to this callback.

However, for large data size the seq_printf function will fail to
allocate a buffer with the adequate capacity to hold such data.

This patch solves this problem by utilizing the seq_file interface
mechanism in the following way:
 - when the user triggers a dump procedure, we will allocate a list of
   buffers that hold the whole data dump (in the start callback)
 - using the start, next, show and stop callbacks of the seq_file
   API we iterate through the list and dump the whole data

Signed-off-by: Hamdan Igbaria <hamdani@nvidia.com>
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.h