kernel

Differences between revisions 8 and 15 (spanning 7 versions)
Revision 8 as of 2012-05-14 16:06:55
Size: 2676
Editor: 90-230-166-102-no35
Comment:
Revision 15 as of 2012-07-23 10:58:24
Size: 3986
Editor: 90-230-166-102-no35
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
== linux-lowlatency == = linux-lowlatency =
Line 15: Line 15:
=== Configurations of interest for linux-lowlatency === == Configurations of interest for linux-lowlatency ==
Line 33: Line 33:
'''May reduce latency'''
 * '''[[ http://cateee.net/lkddb/web-lkddb/PREEMPT_RCU.html | CONFIG_PREEMPT_RCU ]]'''

{{{
CONFIG_PREEMPT_RCU=y
}}}

''additional, related configs''

 * '''[[http://cateee.net/lkddb/web-lkddb/TREE_PREEMPT_RCU.html | CONFIG_TREE_PREEMPT_RCU]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/RCU_BOOST.html | CONFIG_RCU_BOOST]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/RCU_CPU_STALL_DETECTOR.html | CONFIG_RCU_CPU_STALL_DETECTOR]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/RCU_CPU_STALL_VERBOSE.html | CONFIG_RCU_CPU_STALL_VERBOSE]]'''

as configure in current -lowlatency..
{{{
CONFIG_TREE_PREEMPT_RCU=y
# CONFIG_RCU_BOOST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_RCU_CPU_STALL_VERBOSE is not set
}}}
Line 49: Line 71:
==== High resolution timer: ==== === High resolution timer: ===
Line 53: Line 75:
 * '''[[http://cateee.net/lkddb/web-lkddb/HZ.html | CONFIG_HZ=1000 ]]'''  * '''[[http://cateee.net/lkddb/web-lkddb/HZ.html | CONFIG_HZ]]'''
Line 56: Line 78:
to enable high resolution timer
Line 63: Line 85:
---- (optionally, tickless timer - add the config here)
Line 65: Line 87:
'''TODO''' - do the same for the configs below: === Need to be investigated ===
Line 67: Line 89:
{{{{
# CONFIG_RCU_BOOST is not set
 * '''[[http://cateee.net/lkddb/web-lkddb/NTP_PPS.html | CONFIG_NTP_PPS]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/SLAB.html | CONFIG_SLAB]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/PREEMPT_NOTIFIERS.html | CONFIG_PREEMPT_NOTIFIERS]]'''
 * '''[[[ http://cateee.net/lkddb/web-lkddb/EXPERT.html | CONFIG_EXPERT]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/PREEMPT_TRACER.html | CONFIG_PREEMPT_TRACER]]'''
 * '''[[http://cateee.net/lkddb/web-lkddb/DEBUG_KERNEL.html | CONFIG_DEBUG_KERNEL]]'''

as used in current -lowlatency
{{{
Line 70: Line 99:
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_RCU_CPU_STALL_VERBOSE is not set
CONFIG_SLAB=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_EXPERT is not set
Line 73: Line 103:
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_SLAB=y
# CONFIG_EXPERT is not set
Line 79: Line 104:
}}}} }}}

== Additional configs ==

* [[http://cateee.net/lkddb/web-lkddb/RT_GROUP_SCHED.html | CONFIG_RT_GROUP_SCHED]]

../UbuntuStudio/audio-settings

Discussion about kernels and kernel configurations here..

Kernel Testing

Building your own kernel

A short description of how to build a kernel for testing.

linux-lowlatency

Shipped with Ubuntu Studio since 12.04 Precise. Principally a standard Ubuntu kernel (no additional patches to the code, allthough the linux-lowlatency shipped with precise includes a minor patch).

Configurations of interest for linux-lowlatency

These configs need to be somewhat documented and tested

To enable low latency (needs to be expanded)

To enable this option edit the config file to have these line read:

CONFIG_PREEMPT=y
# CONFIG_PREEMPT_NONE
# CONFIG_PREEMPT_VOLUNTARY

May reduce latency

CONFIG_PREEMPT_RCU=y

additional, related configs

as configure in current -lowlatency..

CONFIG_TREE_PREEMPT_RCU=y
# CONFIG_RCU_BOOST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_RCU_CPU_STALL_VERBOSE is not set

To enable the use of the rtirq script to change rtprio for devices:

this enables the use of threadirqs as a kernel boot parameter

optionally, to make threadirqs a default boot parameter

To enable these options edit the config file to have these line read:

IRQ_FORCED_THREADING=y
CONFIG_CMDLINE="threadirqs"
CONFIG_CMDLINE_BOOL=y

High resolution timer:

(Not exactly sure which of CONFIG_HZ=1000 and CONFIG_HZ_1000=y depend on which. )

to enable high resolution timer

CONFIG_HZ_1000=y
CONFIG_HZ=1000
# CONFIG_NO_HZ is not set

(optionally, tickless timer - add the config here)

Need to be investigated

as used in current -lowlatency

# CONFIG_NTP_PPS is not set
CONFIG_SLAB=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_EXPERT is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_DEBUG_KERNEL is not set 

Additional configs

* CONFIG_RT_GROUP_SCHED

linux-rt

Not in Ubuntu repo since 9.10 Karmic.

UbuntuStudio/audio-settings/kernel (last edited 2012-07-23 10:58:24 by 90-230-166-102-no35)