Where do I enable the CONFIG_NO_HZ_FULL kernel configuration? Is it something I can set in conf files or is it something that has to be enabled when I build the kernel?
I am using CentOS with an upgraded kernel 3.10.
If you would like to check if an option is configured into your current kernel, you can probably get the config via
gunzip -c /proc/config.gz > somefile. So to check this one:
gunzip -c /proc/config.gz | grep HZ _FULL
You can search for options when configuring the kernel with
make menuconfig via / -- the other TUI config apps should have a similar feature, and I presume the GUI ones something in a menu. The forward slash is a standard *nix-ish hotkey for searching, used in (e.g.) the standard pager,
Anyway, a quick check of this for 3.13.3 turned up five different options, the first of which is
NO_FULL_HZ and that option is set in the
menuconfig hierarchy (the other config interface apps use the same one, I believe) by General setup->Timers subsystem->Timer tick handling.
Note that some options have prerequisites and will not appear unless those are satisfied. You can untangle these by looking at the output from the search, which indicates how your prereq values are currently set (in square brackets, e.g.
[=y]) and uses logical operator notation:
!indicates the option must not be set (so you would want
&&indicates the preceding requisite and the next one must be set.
||indicates the preceding requisite or the next one must be set.
Conversely, some options are required by other ones which have been selected and clues about that will be in the search output too.
You'll need to specify that in the configs when you build the kernel.