Re: [PATCH 04/14] init: deps: order network interfaces by link order

From: Alexander Holler
Date: Sat Oct 17 2015 - 15:07:51 EST


Am 17.10.2015 um 21:03 schrieb Linus Torvalds:
On Sat, Oct 17, 2015 at 11:37 AM, Alexander Holler <holler@xxxxxxxxxxxxx> wrote:

Otherwise it's impossible to call initcalls in parallel. I've seen a stable
topological sort somewhere, but whenever you want to parallelize the
initcalls, the stable ordering would be gone anyway. So I've decided not to
look further at a stable topological sort.

So five seconds of googling gave me freely usable source code for a
stable topological sort, that also has a nice reported added
advantage:

"An interesting property of a stable topological sort is that cyclic
dependencies are tolerated and resolved according to original order of
elements in sequence. This is a desirable feature for many
applications because it allows to sort any sequence with any
imaginable dependencies between the elements"

which seems to be *exactly* what you'd want, especially considering
that right now your patches add extra "no-dependency" markers exactly
because of the cyclical problem.

That's the stable topological sort I've mentioned the link to in the discussion with you.


I think it was the #2 hit on google for "stable topological sort". I
didn't look closely at the source code, but it was not big.

And no, since we don't actually want to parallelize the initcalls
anyway (I had this discussion with you just a month ago), your
objections seem even more questionable. We have separate machinery for
"do this asynchronously", and we want to _keep_ that separate.

I've understood that now.

Sorry for wasting your time.

Alexander Holler
--
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/