Re: [PATCH RESEND] sched/mmcid: Use clamp() to simplify mm_cid_calc_pcpu_thrs()

From: Thorsten Blum

Date: Sun Jul 05 2026 - 17:07:34 EST


On Sun, Jul 05, 2026 at 08:07:23PM +0100, David Laight wrote:
> On Sun, 5 Jul 2026 19:20:54 +0200
> Thorsten Blum <thorsten.blum@xxxxxxxxx> wrote:
>
> > Use clamp() to simplify the code and improve its readability.
> >
> > Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
> > ---
> > kernel/sched/core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> > index 8b791e9e9f67..31739bd43176 100644
> > --- a/kernel/sched/core.c
> > +++ b/kernel/sched/core.c
> > @@ -10785,7 +10785,7 @@ static inline unsigned int mm_cid_calc_pcpu_thrs(struct mm_mm_cid *mc)
> >
> > opt_cids = min(mc->nr_cpus_allowed, mc->users);
> > /* Has to be at least 1 because 0 indicates PCPU mode off */
> > - return max(min(opt_cids - opt_cids / 4, num_possible_cpus() / 2), 1);
> > + return clamp(opt_cids - opt_cids / 4, 1, num_possible_cpus() / 2);
>
> Nack, it isn't the same.
> clamp() requires that lo <= hi but I suspect num_possible_cpus()
> can be zero.

num_possible_cpus() probably shouldn't be 0, but you're right anyway,
and that's the case I didn't consider: num_possible_cpus() / 2 == 0 when
num_possible_cpus() is 1.

Let's drop this patch, and thanks for the feedback.