为什么桌面版默认禁用抢占功能?

为什么桌面版默认禁用抢占功能?

我正在使用 ubuntu 14.04,并且只使用发行版附带的内核(版本 3.16.0-31-generic)。

我检查了 /boot/config-3.16.0-31-generic,它显示# CONFIG_PREEMPT is not set(并且它没有未注释的 CONFIG_PREEMPT)。

考虑到桌面操作系统需要比硬核性能(在计算意义上)更快的响应速度,这给 ubuntu 带来了什么优势?

答案1

对于那些需要它的人来说,Ubuntu 提供了一个低延迟版本的内核。它的基本滴答率为 1000 赫兹,而不是 250 赫兹,并且设置了 CONFIG_PREEMPT。

以下是内核 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

相关内容