Re: [patch V4 4/8] sched: Make migrate_disable/enable() independent of RT

From: Peter Zijlstra
Date: Thu Nov 19 2020 - 13:29:12 EST


On Thu, Nov 19, 2020 at 09:23:47AM -0800, Linus Torvalds wrote:
> On Thu, Nov 19, 2020 at 3:14 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > I still hate all of this, and I really fear that with migrate_disable()
> > available, people will be lazy and usage will increase :/
> >
> > Case at hand is this series, the only reason we need it here is because
> > per-cpu page-tables are expensive...
>
> No, I think you as a scheduler person just need to accept it.

Well, I did do write the patches.

> Because this is certainly not the only time migration limiting has
> come up, and no, it has absolutely nothing to do with per-cpu page
> tables being completely unacceptable.

It is for this instance; but sure, it's come up before in other
contexts.

> The scheduler people need to get used to this. Really. Because ASMP is
> just going to be a fact.

ASMP is different in that it is a hardware constraint, you're just not
going to be able to run more of X than there's X capable hardware units
on (be if FPUs, Vector units, 32bit or whatever)

> There are few things more futile than railing against reality, Peter.

But, but, my windmills! :-)

> Honestly, the only argument I've ever heard against limiting migration
> is the whole "our scheduling theory doesn't cover it".
>
> So either throw the broken theory away, or live with it. Theory that
> doesn't match reality isn't theory, it's religion.

The first stage of throwing it out is understanding the problem, which
is just about where we're at. Next is creating a new formalism (if
possible) that covers this new issue. That might take a while.

Thing is though; without a formalism to reason about timeliness
guarantees, there is no Real-Time.

So sure, I've written the patches, doesn't mean I have to like the place
we're in due to it.