The following tutorial introduces you both to Vim’s built-in Cscope support, and to a set of maps that make searching more convenient.
The maximum transmission unit (MTU) of a network interface is the size of the largest block of data that can be transmitted as a single unit. Anything larger than the MTU must be broken into smaller units prior to transmission. The following link has a short passage on modifying the MTU.
If you want to change the MTU in the linux kernel source code the macro can be found in
The macro name is ETH_DATA_LEN and if you are increasing it you need to increase the frame length also. The macro for from length is ETH_FRAME_LEN. I did experiment to modify MTU to 1508. So I modified the ETH_DATA_LEN to 1508 and frame length to 1522.
After the same through ifconfig I was able to set the mtu to 1508.
e.g:- ifconfig eth0 mtu 1508
Setting anything beyond ETH_DATA_LEN the ifconfig will return “SIOCSIFMTU: Invalid argument”. Also changing to any values beyond 1500 ensure your network devices support.
You might have faced Makefile not continuing with rest of the commands if any of the previous commands returns exit code as -1 or any negative values. There is a simple way for make to ignore these return codes and continue the build. Just add ‘-‘ before the command for which build is failing. Ensure that this tip is used only for the case where the tool is returning failure and the objective of the tool is working fine.
The Linux® system call interface permits user-space applications to invoke functionality in the kernel, but what about invoking user-space applications from the kernel? Explore the usermode-helper API, and learn how to invoke user-space applications and manipulate their output. Read more…
Linux documentation on long delays, short delays and timeouts. This also describes the api’s used to achieve the same and also the advantages, disadvantages and also the situation in which each better suits. Some informations in the documentation can be out dated based on latest code. Read More…
Any time you wanted to know the list of gcc used macros and their values. Here is the command details
touch foo.h; gcc -dM -E foo.h
will list all the macros used.
-dM will generate the list of all #defines used by the pre-processor during execution, this also includes pre-defined macros.
-E will stop the compiler after pre-processing stage. Will not enter to the compiling stage. The output will be in the preprocessed form and will be sent to the stdout.
In this howto we will build a load-balanced and high-availability web cluster on 2 real servers with Xen, hearbeat and ldirectord. The cluster will do http, mail, DNS, MySQL database and will be completely monitored. This is currently used on a production server with a couple of websites.