> On Nov 7, 2016, at 15:04, Denny Page <dennyp...@me.com> wrote:
> 
> The kernels are Linux 4.4.26, configured for low latency. I’ll follow up with 
> the list of kernel configuration parameters I use. Both the kernels and 
> chrony are built with mtune=native. 


For the kernel configuration, the general guideline I follow is to build a 
static kernel with no modules and only the drivers/features I need enabled. 
This can take a bit of effort the first time around for a piece of hardware, 
but thereafter it’s relatively easy. Regardless of the hardware, I have listed 
some of the general parameters that I consider important for low latency below. 
Note that the configuration parameters that are not set are just as important 
as the ones that are.

CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_MODULES is not set
CONFIG_DEFAULT_CFQ=y
CONFIG_NR_CPUS=<SET TO ACTUAL NUMBER>
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
CONFIG_PREEMPT=y
CONFIG_HZ_1000=y
# CONFIG_PM is not set
CONFIG_ACPI=y
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
CONFIG_HPET=y

There is always room for improvement, so feedback is welcome.

In addition to the kernel, I disable eee and interrupt coalescing on the 
network interfaces.

Denny

Reply via email to