Messages in this thread | | | Date | Sat, 17 Oct 2015 12:03:43 -0700 | Subject | Re: [PATCH 04/14] init: deps: order network interfaces by link order | From | Linus Torvalds <> |
| |
On Sat, Oct 17, 2015 at 11:37 AM, Alexander Holler <holler@ahsoftware.de> 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.
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.
Linus
| |