[lkml]   [2020]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [patch V4 4/8] sched: Make migrate_disable/enable() independent of RT
On Thu, Nov 19 2020 at 19:28, Peter Zijlstra wrote:
> On Thu, Nov 19, 2020 at 09:23:47AM -0800, Linus Torvalds wrote:
>> 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.

Indeed. And one of the really bad outcomes of this is that people are
forced to use preempt_disable() to prevent migration which entails a
slew of consequences:

- Using spinlocks where it wouldn't be needed otherwise
- Spinwaiting instead of sleeping
- The whole crazyness of doing copy_to/from_user_in_atomic() along
with the necessary out of line error handling.
- ....

The introduction of per-cpu storage happened almost 20 years ago (2002)
and still the only answer we have is preempt_disable().

I know the scheduling theory folks still try to wrap their heads around
the introduction of SMP which dates back to 1962 IIRC...

>> 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)

ASMP is as old as SMP. The first SMP systems were in fact ASMP. The
reasons for ASMP 60 years ago were not that different from the reasons
for ASMP today. Just the scale and the effectivness are different.

>> There are few things more futile than railing against reality, Peter.
> But, but, my windmills! :-)

At least you have windmills where you live so you can pull off the real
Don Quixote while other people have to find substitutes :)



 \ /
  Last update: 2020-11-20 02:34    [W:0.079 / U:5.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site