Re: [PATCH] Revert 9fc2105aeaaf56b0cf75296a84702d0f9e64437b to fix pyaudio (and probably more)

From: Linus Torvalds
Date: Wed Jan 07 2015 - 19:49:57 EST


On Wed, Jan 7, 2015 at 4:25 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Timing-related things can be similar. The whole "it used to work, now
> it doesn't" could be an actual race condition - in user space - that
> just was practically impossible to hit before on a particular machine,
> and then something changed, and now it's easy to hit. There's nothing
> we can really do about those kinds of things. It technically *is*
> still a regression, it's just not one we can fix.

Side note: this is not a theoretical argument. It has happened. And
while it's "unfixable", we've actually had situations where it
happened, and we explicitly tried to work around it.

The whole "sched_child_runs_first" sysctl isn't just a tunable (yes,
it can also help on some loads), it's at least partly a result of a
long-ago bash bug where bash had a race condition with its own
fork()'ed children finishing and sending a SIGCHLD before bash had
even had time to fill in the child pid information in its own data
structures.

So even the "fundamentally impossible to fix" regressions where some
scheduler detail changed, and it broke actively buggy user space
programs, we've spent effort to maintain compatibility with those
buggy applications.

Of course, at some point you do have to make a value judgment on how
important the app in question is, and how fatal the breakage is.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/