diff options
-rw-r--r-- | drivers/soc/google/vh/kernel/sched/sched_priv.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/soc/google/vh/kernel/sched/sched_priv.h b/drivers/soc/google/vh/kernel/sched/sched_priv.h index b2ec38b1717c..1cedbec26e5f 100644 --- a/drivers/soc/google/vh/kernel/sched/sched_priv.h +++ b/drivers/soc/google/vh/kernel/sched/sched_priv.h @@ -463,13 +463,13 @@ static inline bool get_prefer_idle(struct task_struct *p) struct vendor_task_struct *vp = get_vendor_task_struct(p); struct vendor_binder_task_struct *vbinder = get_vendor_binder_task_struct(p); - if (vendor_sched_reduce_prefer_idle && !vp->uclamp_fork_reset) - return (vg[vp->group].prefer_idle && p->prio <= DEFAULT_PRIO && - uclamp_eff_value_pixel_mod(p, UCLAMP_MAX) == SCHED_CAPACITY_SCALE) || - vp->prefer_idle || vbinder->prefer_idle; + if (get_uclamp_fork_reset(p, true) || vp->prefer_idle || vbinder->prefer_idle) + return true; + else if (vendor_sched_reduce_prefer_idle) + return vg[vp->group].prefer_idle && p->prio <= DEFAULT_PRIO && + uclamp_eff_value_pixel_mod(p, UCLAMP_MAX) == SCHED_CAPACITY_SCALE; else - return vg[vp->group].prefer_idle || vp->prefer_idle || vbinder->prefer_idle || - vp->uclamp_fork_reset; + return vg[vp->group].prefer_idle; } static inline void init_vendor_task_struct(struct vendor_task_struct *v_tsk) |