The make tool can run jobs (commands) simultaneously instead to running them one by one. Works best on multiprocessor systems. To enable it, run:
$ make -j n
where n is the number of parallel jobs to execute. As per this analysis, the results are best when n = number of processors in the system.
This speeds up the compilation of large source code like that of the Linux kernel. As Bob has mentioned in his comment below, not all Makefiles are “job safe” and the jobs may be completed in any order. So be cautious when using the -j option.
GCC (GNU Compiler Collection is a powerful collection of compilation related tools that supports various programming languages. Here are some features of GCC (C specific) used in the Linux kernel:
GCC hacks in the Linux kernel
BFS is an unofficial scheduler for the Linux kernel to ‘boost’ the responsiveness by increasing the context witch rate. Here’s the writeup on BFS from the author posted yesterday:
BFS: A Kernel Patch (new ‘Task Scheduler’)
To install and test the BFS scheduler on Ubuntu 12.04 Precise Pangolin, 11.10 Oneiric Ocelot, 11.04 Natty Narwhal and 10.10:
$ sudo add-apt-repository ppa:chogydan/ppa
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
Find a nice Linux debugging tutorial using strace, ltrace and vmstat here:
Linux system debugging super tutorial
Another article on shared library debugging:
Linux Commands For Shared Library Management & Debugging Problem
An article on memory corruption debugging:
Memory Corruption – Debugging Tools in Linux
A nice tutorial on how to debug the kernel by printing:
Debugging by printing
By default the kernel loads some modules which may not be required by your laptop/computer. I have disabled all the modules on Ubuntu 12.04 other than those related to sound, network and graphics to speed-up boot time. To stop modules from loading add them in the /etc/modprobe.d/blacklist.conf file. Here goes my configuration. Several modules can be specific to your hardware. For example, I keep the laptop webcam disabled.
$ cat /etc/modprobe.d/blacklist.conf