Here is a sum up of glibc kernel headers requirements taken from glibc README git history.
|glibc version||Linux headers version requirement|
|2.24||2.6.32 or later for i86 and x86_64, 3.2 or later for other architecture|
|2.20 to 2.23||2.6.32 or later|
|2.17 to 2.19||2.6.16 or later|
|2.4 to 2.16||2.6.0 or later, make check fail if < 2.6.16|
Updated on 2016-08-07
With Linux it’s possible de compress the memory to limit disk swapping. A compressed swap can be created in memory. It was implemented in linuxcompressed project available on sourceforge, but this project died in 2003. It has respawned some month ago as compcache, on Google Code. The 0.4 version perfectly build and load in my Debian 2.6.26 kernel.
I found that my Slab (a kind of kernel heap) was growing up to 250Mb:
cat /proc/meminfo | grep Slab
As shown by
slabtop, the responsible were
ext3_inode_cache. I found a solution here:
echo 2 > /proc/sys/vm/drop_caches
This bug happens when paravirtualisation is enable in the kernel:
To fix it just recompile your kernel with CONFIG_PARAVIRT disabled.
I had troubles to find the good
revision parameters to create packages which match the official ones:
fakeroot make-kpkg --revision 2.6.20-3jerome1 --append-to-version -1-686 --subarch 686 --initrd binary-arch
Here is how to compile a debian way kernel using the
apt-get source linux-2.6-2.6.20 cd linux-2.6-2.6.20 vim debian/rules
$(MAKE) -f debian/rules.gen build-$(DEB_HOST_ARCH)
$(MAKE) -f debian/rules.gen build-i386-none-686-real
It will avoid to build for all architecture (486, k7, vserver …). Now create the package.
dch -i fakeroot dpkg-buildpackage -d -b
To conclude I see no reason to use this method, make-kpkg is better.
By default, starting with Linux 2.6.18, the default I/O scheduler is CFQ. If you are more interested in having short response times in you GUIs than high I/O disc throughput, you may try to change it:
echo anticipatory > /sys/block/sda/queue/scheduler