KernelKarmicKernelConfig

Summary

Reviewing the Karmic Kernel config to ensure we remove old and deprecated options and enable new options. Additionally we will make sure we review all the existing options to ensure we don't introduce regressions.orySpec for examples.

Release Note

Something of the following form would be appropriate:

  • The Kernel packages has had the following changes made to its configuration.
    
       FOO
    
    This will have impact on the the following classes of users.

Rationale

A regular review at UDS helps to publicise the decisions being made about new and existing config options. This gives interested stake holders a view and and option for input into this process. It serves to produce a permanent record of these decisions.

Implementation

During the session we will review the current configuration at this URL: https://wiki.ubuntu.com/KernelTeam/2.6.30-5-generic-config. Updates in the table in the Summary of Discussion section will be made documenting any changes and/or relevant reasoning in the comments column.

Stage 1

We performed a review of the options as per the table in 'Summary of Discussions' below. Where the change was simple it was updated where it was notes were made and the change deferred. A series of patches with these changes were pushed to the kernel-team mainline list for approval:

  1. UBUNTU: [Config] CONFIG_VIDEO_GO7007=m (amd64, i386)
  2. UBUNTU: [Config] CONFIG_SERIAL_MAX3100=m (i386, amd64, lpia)
  3. UBUNTU: [Config] CONFIG_POHMELFS_CRYPTO=y (i386, amd64)
  4. UBUNTU: [Config] CONFIG_LENOVO_SL_LAPTOP=m (amd64, lpia)
  5. UBUNTU: [Config] CONFIG_KEXEC_JUMP=y (amd64, lpia)
  6. UBUNTU: [Config] CONFIG_SECURITY_TOMOYO=y (amd64, i386, lpia)

These were subsequently applied.

Stage 2

Following up on those options where the disposition was not obvious we researched each option and made further more detailed recommendations on these to the kernel-team mailing list. Based on that we then produces a second series of patches to make those approved changes which were sent to the mailing list for approval:

  1. UBUNTU: [Config] CONFIG_PCI_STUB=m
  2. UBUNTU: [Config] CONFIG_PCI_IOV=y
  3. UBUNTU: [Config] standardise CONFIG_RD_LZMA=y
  4. UBUNTU: [Config] standardise CONFIG_STAGING=y

These were subsequently applied.

Stage 3

Currently in Karmic there is no LPIA specific hardware support in the kernel. This means that any configuration differences between the i386 generic flavour and the lpia lpia flavour are just option skew. We therefore used the i386 generic flavour to see the lpia lpia flavour, removing this skew.

We also looked at those options which were not common across architectures. Here we examined the non-architecture specific items and where sensible consolidated them into a common setting. We consolidated the following sets of options:

  1. the crypto modules
  2. the crypto loop device
  3. all filesystems

We also consolidated the option between the i386 generic and i386 generic-pae flavours which should only differ by the memory size accessible, ie. whether PAE is enabled. All other options were taken from the i386 generic template.

BoF agenda and discussion

Summary of Discussions

The review concentrated on those new config options. Below is a brief summary of the options and the commentary for each. These will be applied to the main list and the kernel. As they are applied the Applied column will be updated to indicate the outcome and highlight any issues.

Option

Resolution

Applied

CONFIG_ANDROID_*

enabled on i386, disabled on x86_64 and arm [action]

=y

CONFIG_BOOTPARAM_HUNG_TASK_PANIC

is debug, disabled by default

=n

CONFIG_CACHEFILES_HISTOGRAM

is debug, disabled by default

=n

CONFIG_CGROUP_MEM_RES_CTLR_SWAP

disabled by default

=n

CONFIG_EVENT_TRACER

debugging, disable

=n

CONFIG_EXT3_DEFAULTS_TO_ORDERED

just enforces historical behaviour, disabled by default

=n

CONFIG_FSCACHE_HISTOGRAM

debugging, disable

=n

CONFIG_FSCACHE_STATS

debugging, disable

=n

CONFIG_FTRACE_SYSCALL

is debug and overhead per syscall + security implications, disabled by default

=n

CONFIG_GFS2_FS_LOCKING_DLM

take default

=n

CONFIG_IMA

disabled

=n

CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT

take default

=n

CONFIG_KERNEL_BZIP2

should be enabled [action]

=n *2

CONFIG_KERNEL_LZMA

should be enabled [action]

=n *2

CONFIG_KEXEC_JUMP

should be enabled for all [action]

*1 =y (i386, amd64, lpia)

CONFIG_KMEMTRACE

is debug, disable

=n

CONFIG_LENOVO_SL_LAPTOP

enabled module

*1 =m (i386, amd64, lpia)

CONFIG_MAC80211_RC_DEFAULT_PID

should be disabled

*3

CONFIG_MAXSMP

is experimental, disabled

=n

CONFIG_MEDIA_TUNER_CUSTOMISE

take the default, disabled

=n

CONFIG_SCSI_MPT2SAS_LOGGING

is debugging, disabled

=n

CONFIG_MTD_PHYSMAP_COMPAT

disabled, rawflash, most devices have their own stuff anyway

=n

CONFIG_NET_DROP_MONITOR

is experimental, disabled

=n

CONFIG_NFS_FSCACHE

is experimental, disabled

=n

CONFIG_PANEL_CHANGE_MESSAGE

is experimental, disabled

=n

CONFIG_PCI_IOV

TBD, virtualisation of IO space [needs investigation]

*4

CONFIG_PCI_STUB

TBD [needs investigation]

*4

CONFIG_POHMELFS_CRYPTO

make a module [action]

*5 =y

CONFIG_POWER_TRACER

debugging power states, disable

=n

CONFIG_PREEMPT_RCU

disable, highly experimental

=n

CONFIG_PREEMPT_RCU_TRACE

disable

=n

CONFIG_ROMFS_BACKED_BY_BOTH

disable

=n

CONFIG_ROMFS_BACKED_BY_MTD

disable

=n

CONFIG_SECURITY_TOMOYO

should be enabled due to getting apparmor for free [action]

*1 =y (i386, amd64, lpia) not available on ARM ??

CONFIG_SERIAL_MAX3100

should be modularised [action]

*1 =m [i386, amd64, lpia]

CONFIG_STAGING_EXCLUDE_BUILD

disable

*5

CONFIG_STRIP_ASM_SYMS

is done in build, leave disabled

=n

CONFIG_THINKPAD_ACPI_UNSAFE_LEDS

leave disabled

=n

CONFIG_TRACE_BRANCH_PROFILING

is debugging, leave disabled

=n

CONFIG_TREE_RCU

disable

=n

CONFIG_TREE_RCU_TRACE

disable

=n

CONFIG_USB_GADGET_CI13xxx

module

*6 =n

CONFIG_USB_GADGET_DUMMY_HCD

module

*6 =n

CONFIG_USB_GADGET_IMX

disable (broken)

=n

CONFIG_VIDEO_GO7007

modularise [action]

*5 *1 =m

CONFIG_WORKQUEUE_TRACER

is debug, leave disabled

=n

Notes:

  1. options which were modified from the default
  2. these options were mutually exclusive with KERNEL_GZIP and are unchanged
  3. this option is enabled on lpia as that platform is setting EMBEDDED
  4. these options still require investigation
  5. these options depend on staging being enabled and it is not for lpia or arm
  6. mutually exclusive with CONFIG_USB_GADGET_DUALSPEED=y so remain disabled

The following options require review:

  1. CONFIG_STAGING -- this is only enabled in some of our configs
  2. CONFIG_RD_LZMA -- this probabally is what we wanted to enabled when talking about LZMA in the session


CategorySpec

specs/KernelKarmicKernelConfig (last edited 2009-07-17 19:16:28 by apw)