Kernel Configuration Review

Registered by Leann Ogasawara on 2011-09-27

Review of the kernel configuration for P. This will concentrate on confirming the policy for various option types, as well as new options. For major new options, discussion and confirmation of the selection of each.

Blueprint information

Status:
Complete
Approver:
Pete Graner
Priority:
Essential
Drafter:
Leann Ogasawara
Direction:
Approved
Assignee:
Leann Ogasawara
Definition:
Approved
Series goal:
Accepted for precise
Implementation:
Implemented
Milestone target:
None
Started by
Andy Whitcroft on 2011-11-08
Completed by
Leann Ogasawara on 2012-04-13

Whiteboard

Notes:
* IRQ_REMAP - marked EXPERIMENTAL but appears to have been inadvertently enabled after 3.2-rc1 rebase. disable for now.
* brcmsmac - refer to commit "UBUNTU: SAUCE: allow brcmsmac and b43 to both build"
* CONFIG_USB_DEVICEFS - breaks udev USB firmware loading and is deprecated. we've added it to the enforcer to ensure it is disabled.
* CONFIG_MEMSTICK_R592 - marked EXPERIMENTAL but enabled as a module per bug 238208. this does however trigger bug 894070 which we've added a quirk to resolve.
* CONFIG_ACPI_ASUS - noted as DEPRECATED. leave disabled for now.
* CONFIG_LOGFS - noted as "very experimental and should not be used for other than testing purposes." Seems reasonable to keep it turned off for now unless otherwise requested.
* CONFIG_USB_XHCI_HCD was set =y across all arch's via bug 886167
* CONFIG_USB_OTG is marked EXPERIMENTAL. It is only enabled on arm per bug 566645. Is it disabled on all other archs.
* CONFIG_HID_ACRUX_FF was set =y across all flavors and arch's via "UBUNTU: [Config] updateconfigs after rebase to 3.2-rc1"
* CONFIG_ARCNET was set =y across all flavors and arch's via "UBUNTU: [Config] updateconfigs after rebase to 3.2-rc1"
* CONFIG_ATA_NONSTANDARD is =y on powerpc64-smp because PPC_MAPLE=y and PPC_MAPLE selects ATA_NONSTANDARD if ATA
* CONFIG_LLC is enabled via "select LLC" from one of the following config options: CONFIG_ATALK, CONFIG_TR, CONFIG_STP, CONFIG_BRIDGE, CONFIG_IPX, CONFIG_LLC2. All of these options are enabled =m except for CONFIG_TR=y. However, CONFIG_TR does not exist on armel/armhf, thus CONFIG_LLC=m on armel/armhf and =y on all other arch's.
* CONFIG_*_PHY=y. Even though the need to build in CONFIG_*_PHY is not fully documented in a commit message, the reasoning to enabling them =y is discussed at http://marc.info/?l=linux-netdev&m=125700321922154&w=2
* CONFIG_CRC32C=y was built in per LP:681819
* CONFIG_CRC32C_INTEL=y was built in during the Natty cycle. See commit 8caad6c9 "UBUNTU: [Config] CONFIG_CRYPTO_CRC32C_INTEL=y" and discussion at https://lists.ubuntu.com/archives/kernel-team/2011-February/014438.html
* CRYPTO_DEV_PADLOCK changed from a bool to a tristate via commit d158325e, it's likely it was set =y when it was a bool. Seems reasonable to keep it =y.
* Remaining CONFIG_CRYPTO_* options are enabled as modules which seems reasonable as they are all experimental
* CONFIG_ISI is described as experimental even though it's not dependent on the EXPERIMENTAL config option. Seems reasonable to keep disabled for now unless a specific request is made.
* CONFIG_DM_DELAY and CONFIG_DM_FLAKEY are both marked EXPERIMENTAL and also primarily for testing/debugging purposes. Seems reasonable to keep disabled for now.
* CONFIG_KVM is built on only on powerpc because it is only offered as a boolean value for the powerpc arch, all other aches provide it as a tristate.
* CONFIG_PATA_MACIO=y per commit 793fc733 to fix MAC qemu boot, see bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641210
* CONFIG_ACPI_HED=y because ACPI_APEI_GHES selects ACPI_HED and ACPI_APEI_GHES is built in
* BACKLIGHT_CLASS_DEVICE=y because CONFIG_DRM_RADEON_KMS=y which selects BACKLIGHT_CLASS_DEVICE
* CONFIG_CS5535_MFGPT is disabled. Keep disabled as it suggests drivers which need this option will select it.
* CONFIG_DVB_DUMMY_FE is disabled and default is n. This option also depends on DVB_FE_CUSTOMISE being enabled which it isn't for x86.
* CONFIG_FB_VIRTUAL is disabled as it is only for testing purposes.
* CONFIG_GPIO_CS5535=y only on i386 because OLPC_XO1_SCI was added as of v3.1-rc1. OLPC_XO1_SCI is a bool so enabled =y and selects GPIO_CS5535.
* DYNAMIC_DEBUG keep disabled for now. Original request to enable this came through tyhicks for use with ecryptfs. After recent conversations with tyhicks, alternative debugging methods are currently being pursued so this request can be ignored for now.

Work Items for precise-alpha-2:
[apw] CONFIG_FAT_FS should be enforced =y for ARM as they need it for boot partition (and add an annotation):DONE
[apw] CONFIG_NLS_CODEPAGE_437 builtin on arm because of FAT, annotate:DONE
[apw] CONFIG_*_PROC_FS are not filesystems remove from the Filesystems list:DONE
[apw] CONFIG_PACKET is boot essential, add annotation:DONE
[apw] CONFIG_ACPI_CUSTOM_METHOD presents a security risk and should be enforced off plus an annotation:DONE
[apw] CONFIG_BLK_* are dependancies of boot essential items, add annotations:DONE
[apw] CONFIG_DM_RAID45 correctly inconsistent:DONE
[apw] CONFIG_EFI_VARS needs an annotation, DI requirement:DONE
[apw] CONFIG_FDDI annotation for protocol builtin:DONE
[apw] CONFIG_IDE is deprecated, needs annotation:DONE
[apw] ARM_PATCH_PHYS_VIRT ok needs annotation (not needed):DONE
[apw] annotate SATA_AHCI as boot essential:DONE
[apw] re-run the configuration checks following update to 3.1-rc1: DONE
[apw] CONFIG_MMC_SDHCI is boot essential on arm needs annotation: DONE
[apw] CONFIG_PARAVIRT_TIME_ACCOUNTING is correct as n needs annotation: DONE
[apw] CONFIG_CRYPTO_* warrents a config checker sections: DONE
[apw] CONFIG_CRYPTO_* likely should have default annotation of 'm': DONE
[apw] CONFIG_*_DEBUG_* likely should be 'n' and quirked otherwise: DONE
[apw] CONFIG_NET_VENDOR_* likely should be 'y' as these are simply groups: DONE
[apw] CONFIG_*_DEBUG_FS likely should default to 'n': DONE
[apw] CONFIG_ECRYPTFS_FS require annotation: DONE
[apw] CONFIG_USB_FUNCTIONFS is actually a filesystem needs annotation: DONE
[apw] CONFIG_USB_GADGETFS is actually a filesystem needs annotation: DONE
[apw] CONFIG_RFKILL is an essential subsystem needs annotation: DONE
[apw] CONFIG_SENSORS_W83795_FANCTRL needs investigateion: DONE
[apw] CONFIG_CRYPTO_CRC32C* are dependancies of boot essential items, annotate: DONE
[apw] CONFIG_NFC (Near Field Communications) is inconsistent wrt policy reconcile: DONE
[apw] CONFIG_USB_DEVICEFS is correct as =n, needs annotation:DONE
[apw] CONFIG_ACPI_ASUS is noted as DEPRECATED and thus not enabled, needs annotation:DONE
[apw] CONFIG_USB_OTG =y on arm, needs annotation: DONE
[apw] CONFIG_ATA_NONSTANDARD=y on powerpc64-smp, needs annotation:DONE
[apw] CONFIG_LLC=m on armel/armhf, needs annotation:DONE
[apw] CONFIG_*_PHY=y needs annotation:DONE
[apw] CONFIG_CRYPTO_CRC32C=y needs annotation:DONE
[apw] CONFIG_CRYPTO_CRC32C_INTEL=y needs annotation:DONE
[apw] CONFIG_CRYPTO_DEV_PADLOCK=y needs annotation:DONE
[apw] CONFIG_ACORN_PARTITION_ADFS investigate (it's a FS and experimental, what's the proper policy):DONE
[apw] CONFIG_INPUT needs annotation:DONE
[apw] CONFIG_SCSI needs annotation:DONE
[apw] CONFIG_DNS_RESOLVER=y because CEPH_LIB_USE_DNS_RESOLVER=y, needs annotation:DONE
[apw] CONFIG_CRYPTO_AES and CRYPTO_CBC needs annotation:DONE
[apw] CONFIG_CRYPTO_DEV_PADLOCK, needs annotation:DONE
[apw] CONFIG_CRYPTO_MANAGER, MD5, SHA1, SHA256 needs annotation:DONE
[apw] add highlighting/bgcolor for wiki rows:DONE
[apw] CONFIG_APM_EMULATION, needs annotation for =n on arm:DONE
[apw] CONFIG_DEV_XD, needs annotation:DONE
[apw] CONFIG_*_PHY - add annotations:DONE
[apw] CPU_FREQ_GOV_PERFORMANCE, needs annotation:DONE
[apw] CRC16 AND CRC32, CRYPTO*, needs annotation:DONE
[apw] DEBUG_NX_TEST, DMATEST needs annotation:DONE
[apw] CONFIG_EDD, needs annotation:DONE
[apw] CONFIG_ENCRYPTED_KEYS, needs annotation:DONE
[apw] FSAM7400 needs annotation:DONE
[apw] FW_LOADER, nneds annotation:DONE
[apw] CONFIG_HOTPLUC_PCI* needs annotation:DONE
[apw] CONFIG_HW_MON, needs annotation as a subsystem (investigate first).:DONE
[apw] CONFIG_HW_RANDOM, needs annotation as a subsystem:DONE
[apw] CONFIG_INET_LRO needs annotation:DONE
[apw] CONFIG_IOSCHED_* needs annotation:DONE
[apw] KDBG_SERIAL_CONSOLE, needs annotation:DONE
[apw] CONFIG_MMC/CONFIG_MTD =y on arm, needs annotation:DONE
[apw] CONFIG_LLC, needs annotation - see blueprint whitebboard for reasoning:DONE
[apw] CONFIG_PATA_MACIO=y needs annotation, see bp whiteboard for info:DONE
[apw] CONFIG_ACPI_HED=y needs annotation, see bp whiteboard for info:DONE
[apw] BACKTRACE_SELF_TEST, needs annotation:DONE
[apw] CONFIG_CS5535_MFGPT needs annotation:DONE
[apw] CONFIG_DVB_DUMMY_FE needs annotation, see bp whiteboard for info:DONE
[apw] BACKLIGHT_CLASS_DEVICE needs annotation, see bp whiteboard for reasoning:DONE
[apw] CONFIG_FDDI, needs annotation:DONE
[apw] CONFIG_FB, needs annotation:DONE
[apw] CONFIG_FRAMBUFFER_CONSOLE, needs annotation:DONE
[apw] CONFIG_FB_VIRTUAL, needs annotation, see bp whiteboard for info:DONE
[apw] CONFIG_FB_OMAP2 needs annotation:DONE
[apw] CONFIG_FB_VOODOO1 needs annotation:DONE
[apw] CONFIG_FB_PS3 needs annotation:DONE
[apw] CONFIG_FB_3DFX needs annotation:DONE
packages so we can upload all 3 at the same time:DONE
[leannogasawara] CONFIG_PATA_MACIO needs investigation, inconsistent wrt policy:DONE
[leannogasawara] CONFIG_HID_ACRUX_FF, investigate why =m on amd64-server and built in on all other archs, very likely just a typo when opening P:DONE
[leannogasawara] CONFIG_MTD_TESTS should be disabled (dangerous):DONE
[leannogasawara] CONFIG_X86_E_POWERSAVER should be disabled (dangerous):DONE
[leannogasawara] CONFIG_ACPI_HED needs investigation (why built in):DONE
[leannogasawara] CONFIG_ARCNET, needs investigation, inconsistent (probably disable):DONE
[leannogasawara] ATM_DUMMY why off?:DONE
[leannogasawara] BACKLIGHT_CLASS_DEVICE needs investigation:DONE
[leannogasawara] BLK_DEV_* needs investigation, why inconsistent:DONE
[leannogasawara] BLK_DEV_UB, needs investigation, enable as =m:DONE
[leannogasawara] CONFIG_COP, enable =m even though experimental:DONE
[leannogasawara] CONFIG_CS5535_MFGPT needs investigation:DONE
[leannogasawara] CONFIG_DVB_DUMMY_FE, needs investigation:DONE
[leannogasawara] CONFIG_DVB_USB_EC168, needs investigation:DONE
[leannogasawara] ENC28J60, enable:DONE
[leannogasawara] EXT2_FS, set =m on server flavor:DONE
[leannogasawara] CONFIG_FB_* needs investitation:DONE
[leannogasawara] investigate FSAM7400:DONE
[leannogasawara] CONFIG_HW_RANDOM_PASEMI, needs investigation:DONE
[leannogasawara] CONFIG_I2C* needs investigation:DONE
[leannogasawara] CONFIG_IA32_AOUT, needs investigation (deprecated?):DONE
[leannogasawara] CONFIG_INET_DIAG, needs investigation, why =y:DONE
[leannogasawara] CONFIG_ISI enable =m:DONE
[leannogasawara] improve wordingg for EXPERIMENTAL, we enable if it is device specific (ie only works if you have the device) in which case we enable:DONE
[leannogasawara] LIRC_PARALLEL set =m:DONE
[leannogasawara] MAC_EMUMOUSEBTN needs investigation:DONE
[leannogasawara] set CONFIG_MMC=y on power:DONE
[leannogasawara] R6040, fix up for server:DONE
[leannogasawara] CONFIG_NFC fix up for server:DONE
[leannogasawara] CONFIG_EXT2 can move =m:DONE
[leannogasawara] CONFIG_LLC is inconstant across architectures reconcile:DONE
[leannogasawara] CONFIG_ATA_NONSTANDARD is inconsistent across architectures reconcile:DONE
[leannogasawara] CONFIG_PATA_OPTI is inconsistent across architectures reconcile: DONE
[leannogasawara] CONFIG_PATA_TOSHIBA is inconsistent wrt policy reconcile: DONE
[leannogasawara] CONFIG_SENSORS_AK8975 is inconsistent across architectures reconcile:DONE
[leannogasawara] CONFIG_SENSORS_LINEAGE is inconsistent wrt policy reconcile: DONE
[leannogasawara] CONFIG_ACPI_ASUS is inconsistent wrt policy reconcile: DONE
[leannogasawara] CONFIG_*_PHY NI do we need this, if so then it needs annotation as boot essential -- possibly registration race:DONE
[leannogasawara] build in CONFIG_*_PHY for powerpc for consistency across all archs:DONE
[leannogasawara] CONFIG_CRYPTO_* is again a registration race:DONE
[leannogasawara] CONFIG_DM_DELAY/_FLAKY is debugging support:DONE
[leannogasawara] ISI needs investigation:DONE
[leannogasawara] KVM needs investigation builtin on power:DONE
[leannogasawara] MMC_SDHCI needs investigation:DONE
[leannogasawara] /procfs interfaces for ACPI battery etc are deprecated, see what breaks:DONE
[leannogasawara] build in SATA_AHCI:DONE
[leannogasawara] Investigate CONFIG_MEMSTICK_R592:DONE
[leannogasawara] CONFIG_ARCNET is inconstant across architectures reconcile: DONE
[leannogasawara] CONFIG_HID_ACRUX_FF is inconstant across architectures reconcile: DONE
[leannogasawara] CONFIG_NET_PACKET_ENGINE is inconstant across architectures reconcile: DONE
[leannogasawara] CONFIG_USB_OTG is inconstant across architectures reconcile: DONE
[leannogasawara] CONFIG_USB_XHCI_HCD is inconstant across architectures reconcile: DONE
[leannogasawara] CONFIG_IRQ_REMAP is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_SENSORS_LM95245 is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_SENSORS_MAX1668 is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_SENSORS_NTC_THERMISTOR is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_SENSORS_MAX6639 is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_SENSORS_MAX6642 is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_LOGFS is inconstant wrt policy reconcile: DONE
[leannogasawara] CONFIG_POHMELFS is inconstant across architectures reconcile: DONE
[leannogasawara] CONFIG_USB_DEVICEFS needs review and annotation: DONE
[leannogasawara] CONFIG_CRYPTO_SALSA20 is inconsistent across architectures reconcile: DONE
[leannogasawara] investigate brcmsmac: DONE
[leannogasawara] CONFIG_MMC_TMIO =m:DONE
[leannogasawara] CONFIG_MTD_NAND_FSL_ELBC =m:DONE
[stefan-bader-canonical] XEN_BLKFRONT NETFRONT =y for all "anything you might run in xen":DONE
[stefan-bader-canonical] CONFIG_MMC_UNSAFE_RESUME should be =n as it is. But bug was found and reported.:DONE
[stefan-bader-canonical] investigate xen and server installed:DONE

Work Items for ubuntu-12.04-beta-1:
[leannogasawara] merge -server and -generic configs if testing is satisfactory:DONE
[leannogasawara] USB_SERIAL* why turned off on arm/power:DONE
[leannogasawara] GPIO_CS5535 =m check for i386-generic:DONE
[leannogasawara] DYNAMIC_DEBUG consider enabling this ... costs performance, size:DONE

Work Items for ubuntu-12.04-beta-2:
[apw] investigate adding build dependencies between linux, linux-meta, and lbm:POSTPONED
[apw] check if there is some way to tell if you were originally an server install, check lsb-release (we are keeping linux-server):DONE
[apw] can we detect that CONFIG_INPUT_KXTJ9_POLLED_MODE is part of CONFIG_INPUT_KXTJ9: DONE
[apw]Ensure Hyper-V modules are available in the initramfs:DONE
[apw]Look at defaulting to Hyper-V paravirtualised drivers over ATA when available:DONE
[apw] GPIO_CS5535 needs annotation. GPIO_CS5535=y for i386 because OLPC_XO1_SCI=y:DONE
[apw] generate config review for omap4:DONE

Work items for ubuntu-12.04:
[leannogasawara] Final kernel content and configuration report to ubuntu-devel:DONE

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.