![]() | |||||||||||
Messages in this thread |
Sam Ravnborg (on Sun, 13 Aug 2006 21:45:03 +0200) wrote: >Outstanding kbuild issues (I should fix a few of these for 2.6.18): >o make -j N is not as parallel as expected (latest report from Keith > Ownens but others has complained as well). I assume it is a kbuild > thing but has no clue how to fix it or debug it further. It is the make jobserver code. make -j<n> causes the various make tasks to communicate and work out how many versions are currently running, to avoid overrunning the -j<n> value. Every recursive invocation of make subtracts one from the -j value, reducing the value that is left when make finally get down to doing some useful work instead of just recursing. Jobserver problems are yet another reason why recursive make is bad. kbuild is full of recursive make. The user cannot just add an excess to <n>, the number of recursive invocations changes from kernel to kernel as people try to fix bugs in makefile generation, so the required excess value keeps changing. Before somebody suggests it: the makefile cannot detect the supplied value of <n> and specify a modified -j<n> on recursive make commands. make will detect that a sub-make has -j<n>, complain about it and turn off the jobserver completely. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2006-08-14 09:05 [from the cache] ©2003-2008 | |||||||||||