return group_has_spare;
 }
 
+static inline bool
+sched_asym(struct lb_env *env, struct sd_lb_stats *sds,  struct sg_lb_stats *sgs,
+          struct sched_group *group)
+{
+       return sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu);
+}
+
 /**
  * update_sg_lb_stats - Update sched_group's statistics for load balancing.
  * @env: The load balancing environment.
                }
        }
 
+       sgs->group_capacity = group->sgc->capacity;
+
+       sgs->group_weight = group->group_weight;
+
        /* Check if dst CPU is idle and preferred to this group */
        if (!local_group && env->sd->flags & SD_ASYM_PACKING &&
-           env->idle != CPU_NOT_IDLE &&
-           sgs->sum_h_nr_running &&
-           sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu)) {
+           env->idle != CPU_NOT_IDLE && sgs->sum_h_nr_running &&
+           sched_asym(env, sds, sgs, group)) {
                sgs->group_asym_packing = 1;
        }
 
-       sgs->group_capacity = group->sgc->capacity;
-
-       sgs->group_weight = group->group_weight;
-
        sgs->group_type = group_classify(env->sd->imbalance_pct, group, sgs);
 
        /* Computing avg_load makes sense only when group is overloaded */