Re: [PATCH net-next 05/12] net/mlx5: fs, add mlx5_fs_pool API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 12/12/2024 7:23 PM, Simon Horman wrote:
External email: Use caution opening links or attachments


On Wed, Dec 11, 2024 at 03:42:16PM +0200, Tariq Toukan wrote:
From: Moshe Shemesh <moshe@xxxxxxxxxx>

Refactor fc_pool API to create generic fs_pool API, as HW steering has
more flow steering elements which can take advantage of the same pool of
bulks API. Change fs_counters code to use the fs_pool API.

Signed-off-by: Moshe Shemesh <moshe@xxxxxxxxxx>
Reviewed-by: Yevgeny Kliteynik <kliteyn@xxxxxxxxxx>
Reviewed-by: Mark Bloch <mbloch@xxxxxxxxxx>
Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>

...

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c

...

@@ -447,11 +437,9 @@ void mlx5_fc_update_sampling_interval(struct mlx5_core_dev *dev,
  /* Flow counter bluks */

  struct mlx5_fc_bulk {
-     struct list_head pool_list;
+     struct mlx5_fs_bulk fs_bulk;
       u32 base_id;
-     int bulk_len;
-     unsigned long *bitmask;
-     struct mlx5_fc fcs[] __counted_by(bulk_len);
+     struct mlx5_fc fcs[] __counted_by(fs_bulk.bulk_len);
  };

Unfortunately it seems that clang-19 doesn't know how to handle
__counted_by() when used like this:

drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c:442:36: error: 'counted_by' argument must be a simple declaration reference
   442 |         struct mlx5_fc fcs[] __counted_by(fs_bulk.bulk_len);

Thanks Simon, from code perspective, bulk_len should be now in the inner struct fs_bulk.

Keen Cook, is that going to be supported in the future? for now I will just remove __counted_by() from this struct.

       |                                           ^~~~~~~~~~~~~~~~
././include/linux/compiler_types.h:346:62: note: expanded from macro '__counted_by'
   346 | # define __counted_by(member)           __attribute__((__counted_by__(member)))
       |                                                                       ^~~~~~

...




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux