##(see the SpecSpec for an explanation) * '''Launchpad Entry''': UbuntuSpec:kernel-karmic-kernel-config-review * '''Created''': * '''Contributors''': * '''Packages affected''': == 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) 1. UBUNTU: [Config] CONFIG_SERIAL_MAX3100=m (i386, amd64, lpia) 1. UBUNTU: [Config] CONFIG_POHMELFS_CRYPTO=y (i386, amd64) 1. UBUNTU: [Config] CONFIG_LENOVO_SL_LAPTOP=m (amd64, lpia) 1. UBUNTU: [Config] CONFIG_KEXEC_JUMP=y (amd64, lpia) 1. 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 1. UBUNTU: [Config] CONFIG_PCI_IOV=y 1. UBUNTU: [Config] standardise CONFIG_RD_LZMA=y 1. 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 1. the crypto loop device 1. 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 == * Review the general configuration options * URL: https://wiki.ubuntu.com/KernelTeam/2.6.30-5-generic-config * Considerations * flavour differences will be reviewed separately * PulseAudio tweaks: * High PulseAudio latency and other problems may be due to a low HZ rating in the preemptible kernel: https://tango.0pointer.de/pipermail/pulseaudio-discuss/2009-February/003150.html == 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