Why is preemption disabled by default for a desktop edition?

I am using ubuntu 14.04 and i am using just the kernels that came with distro (version 3.16.0-31-generic).

I checked /boot/config-3.16.0-31-generic, it says # CONFIG_PREEMPT is not set (and it does not have a non commented CONFIG_PREEMPT).

Considering desktop OSes require more responsive than hard core performance (in computational sense), what advantage does this offer to ubuntu?

1 Answer

For those that want it, Ubuntu provides a low latency version of the kernel. It has a basic tick rate of 1000 Hertz instead of 250 Hertz and it has CONFIG_PREEMPT set.

Here is a complete list of kernel configuration differences for kernel 4.0RC2:

doug@s15:~/temp-k-git-3.10rc4/linux$ diff .config-4.0.0-040000rc2-generic .config-4.0.0-040000rc2-lowlatency
3c3
< # Linux/x86_64 4.0.0-040000rc2-generic Kernel Configuration
---
> # Linux/x86_64 4.0.0-040000rc2-lowlatency Kernel Configuration
133c133
< CONFIG_TREE_RCU=y
---
> CONFIG_PREEMPT_RCU=y
144a145
> # CONFIG_RCU_BOOST is not set
250d250
< CONFIG_OPTPROBES=y
380,384d379
< CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
< CONFIG_INLINE_READ_UNLOCK=y
< CONFIG_INLINE_READ_UNLOCK_IRQ=y
< CONFIG_INLINE_WRITE_UNLOCK=y
< CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
458,459c453,455
< CONFIG_PREEMPT_VOLUNTARY=y
< # CONFIG_PREEMPT is not set
---
> # CONFIG_PREEMPT_VOLUNTARY is not set
> CONFIG_PREEMPT=y
> CONFIG_PREEMPT_COUNT=y
567c563
< CONFIG_HZ_250=y
---
> # CONFIG_HZ_250 is not set
569,570c565,566
< # CONFIG_HZ_1000 is not set
< CONFIG_HZ=250
---
> CONFIG_HZ_1000=y
> CONFIG_HZ=1000
5008d5003
< CONFIG_DRM_I810=m
7518a7514
> # CONFIG_DEBUG_PREEMPT is not set
7582a7579
> # CONFIG_PREEMPT_TRACER is not set

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like