On 31/10/2016 23:57, John Covici wrote: > On Mon, 31 Oct 2016 13:37:50 -0400, > [email protected] wrote: >> >> Dale <[email protected]> [16-10-31 18:36]: >>> [email protected] wrote: >>>> Hi, >>>> >>>> from ancient times ;) I remember, that it is not advisable >>>> to compile a linux kernel with more than one cpu core. >>>> >>>> Is that still true, or is it save to compile it with >>>> "all you can eat" ::)) ? >>>> >>>> Cheers >>>> Meino >>>> >>>> >>> >>> While I don't upgrade my kernel very often, since I don't reboot often >>> either, I've used -j 6 for my 4 core CPU for a long time. I'm pretty >>> sure I've done that ever since I built this rig. So far, no problems >>> that I have seen. >>> >>> Dale >>> >>> :-) :-) >>> >> >> Great! Currently rebuilding the kernel with '-j7 ' :) > > I wonder, how does it make sure that a dependency is always compiled > before what depends on it, so the link and all that works? >
The kernel is special - it's a completely self-contained body of code with no external dependencies, so it is internally consistency almost as a matter of course. As for compiling the right things in the right order, the Makefiles take care of that just like all other software with a build system. How does the Makefile get made? Well, when you do make <something>config, you see all those deps like how iwlwifi depends on 80211 which depends on networking etc. That tells you the order things must be built in. Shove that into a Makefile maker, and voila, Bob's your auntie. Build issues tends to get fixed during the dev period so when Linux releases a kernel there's an excellent chance it will build correctly. FWIW, none of this is a specially difficult problem. It's the kind of thing I'd expect bright CS students to be able to do at the end of the first year -- Alan McKinnon [email protected]

