mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
net/mlx5e: TC, refactor access to hash key
Currently, a temp object is filled and used as a key for rhashtable_lookup. Lookups will only works while key remains the first attribute in the relevant rhashtable node object. Fix this by passing a key, instead of a object containing the key. Signed-off-by: Oz Shlomo <ozsh@nvidia.com> Reviewed-by: Paul Blakey <paulb@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
f4692ab13a
commit
de1f0a6508
|
|
@ -25,8 +25,8 @@ struct mlx5e_tc_act_stats {
|
|||
|
||||
static const struct rhashtable_params act_counters_ht_params = {
|
||||
.head_offset = offsetof(struct mlx5e_tc_act_stats, hash),
|
||||
.key_offset = 0,
|
||||
.key_len = offsetof(struct mlx5e_tc_act_stats, counter),
|
||||
.key_offset = offsetof(struct mlx5e_tc_act_stats, tc_act_cookie),
|
||||
.key_len = sizeof_field(struct mlx5e_tc_act_stats, tc_act_cookie),
|
||||
.automatic_shrinking = true,
|
||||
};
|
||||
|
||||
|
|
@ -169,14 +169,11 @@ mlx5e_tc_act_stats_fill_stats(struct mlx5e_tc_act_stats_handle *handle,
|
|||
{
|
||||
struct rhashtable *ht = &handle->ht;
|
||||
struct mlx5e_tc_act_stats *item;
|
||||
struct mlx5e_tc_act_stats key;
|
||||
u64 pkts, bytes, lastused;
|
||||
int err = 0;
|
||||
|
||||
key.tc_act_cookie = fl_act->cookie;
|
||||
|
||||
rcu_read_lock();
|
||||
item = rhashtable_lookup(ht, &key, act_counters_ht_params);
|
||||
item = rhashtable_lookup(ht, &fl_act->cookie, act_counters_ht_params);
|
||||
if (!item) {
|
||||
rcu_read_unlock();
|
||||
err = -ENOENT;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user