autogroup
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = MLX5_FS_MAX_TYPES;
ft_attr.autogroup.max_num_groups = num_groups;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.num_reserved_entries = num_reserved_entries;
ft_attr.autogroup.max_num_groups = max_num_groups;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = 2;
ft_attr.autogroup.num_reserved_entries = 1;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = MLX5E_ETHTOOL_NUM_GROUPS;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = 2;
ft_attr.autogroup.max_num_groups = vport_ns->max_num_groups;
ft_attr.autogroup.max_num_groups = esw->params.large_group_num;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = 1;
int num_reserved_entries = ft_attr->autogroup.num_reserved_entries;
int max_num_groups = ft_attr->autogroup.max_num_groups;
ft->autogroup.active = true;
ft->autogroup.required_groups = max_num_groups;
ft->autogroup.max_fte = autogroups_max_fte;
ft->autogroup.group_size = autogroups_max_fte / (max_num_groups + 1);
if (ft->autogroup.active && start_index < ft->autogroup.max_fte)
u32 max_fte = ft->autogroup.max_fte;
if (!ft->autogroup.active)
if (ft->autogroup.num_groups < ft->autogroup.required_groups)
group_size = ft->autogroup.group_size;
if (group_size == ft->autogroup.group_size)
ft->autogroup.num_groups++;
if (flow_act->fg && ft->autogroup.active)
if (ft->autogroup.active &&
fg->max_ftes == ft->autogroup.group_size &&
fg->start_index < ft->autogroup.max_fte)
ft->autogroup.num_groups--;
} autogroup;
ft_attr.autogroup.num_reserved_entries = 2;
ft_attr.autogroup.max_num_groups = chains->group_num;
ft_attr.autogroup.num_reserved_entries = 1;
ft_attr.autogroup.max_num_groups = 1;
ft_attr.autogroup.max_num_groups = MAX_STEERING_GROUPS;
} autogroup;
struct autogroup *autogroup;
static struct autogroup autogroup_default;
tg->autogroup = ag;
autogroup_move_group(struct task_struct *p, struct autogroup *ag)
struct autogroup *prev;
prev = p->signal->autogroup;
p->signal->autogroup = autogroup_kref_get(ag);
struct autogroup *ag = autogroup_create();
sig->autogroup = autogroup_task_get(current);
autogroup_kref_put(sig->autogroup);
struct autogroup *ag;
struct autogroup *ag = autogroup_task_get(p);
return snprintf(buf, buflen, "%s-%ld", "/autogroup", tg->autogroup->id);
init_task->signal->autogroup = &autogroup_default;
kfree(tg->autogroup);
struct autogroup *ag = container_of(kref, struct autogroup, kref);
static inline void autogroup_kref_put(struct autogroup *ag)
static inline struct autogroup *autogroup_kref_get(struct autogroup *ag)
static inline struct autogroup *autogroup_task_get(struct task_struct *p)
struct autogroup *ag;
ag = autogroup_kref_get(p->signal->autogroup);
static inline struct autogroup *autogroup_create(void)
struct autogroup *ag = kzalloc_obj(*ag);
return !!tg->autogroup;
return p->signal->autogroup->tg;
struct autogroup *autogroup;