Kernel Configuration Review

Registered by Leann Ogasawara on 2011-04-07

Review of the kernel configuration for Oneiric. 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:
Started
Approver:
Pete Graner
Priority:
Essential
Drafter:
Leann Ogasawara
Direction:
Approved
Assignee:
Leann Ogasawara
Definition:
Approved
Series goal:
Accepted for oneiric
Implementation:
Started
Milestone target:
None
Started by
Andy Whitcroft on 2011-05-24

Related branches

Sprints

Whiteboard

Notes:
* Follow on config review to take place a Platform Rally in Dublin
* Disabled CONFIG_SCSI_LPFC_DEBUG_FS across all arch's to adhere to policy
* CONFIG_ATM purposely disabled on armel-versatile due to build failure
* CONFIG_IRDA purposely disabled on armel-versatile due to build failure
* CONFIG_INPUT_TOUCHSCREEN purposely disabled on armel-versatile due to build failure
* CONFIG_LLC is actually selected via CONFIG_LLC2. On non arm arch's, CONFIG_LLC2=m selects CONFIG_LLC=y. On arm, CONFIG_LLC2=m selects CONFIG_LLC=m. Enable CONFIG_LLC2=m on armel-versatile to make consistent amongst the arm arch's.
* CONFIG_BRCMFMAC=y across all arch's, not sure why this was originally disabled
* CONFIG_ATA_NONSTANDARD=y only on powerpc-powerpc64-smp because of CONFIG_PPC_MAPLE=y. CONFIG_PPC_MAPLE depends on PPC64 and select ATA_NONSTANDARD if ATA.
* CONFIG_MDIO_BITBANG should =m across all arch's and flavors per our policy, not sure why was set to =y on i386/amd64.
* Enable CONFIG_VIDEO_OUTPUT_CONTROL=m on armel-omap. Likely an oversight.
* CONFIG_L2TP is enabled. L2TP_V3 is not enabled as it's EXPERIMENTAL. And L2TP_IP and L2TP_ETH depend on L2TP_V3.
* CONFIG_IPV6_MIP6 is currently disabled as it's marked EXPERIMENTAL.
* CONFIG_COMPAT_BRK is disabled and enforced to n in our config enforce file.
* CONFIG_FT1000 enable =m across all arch's and flavours
* CONFIG_RTL8192se - keep carrying this as an Ubuntu driver for now. However, it looks like this has landed in the wireless-testing tree so it's at least starting to make it's way upstream. I suspect we'll be able to drop this driver in favor of the upstream version in our LTS release for P.
* CONFIG_ACPI_ASUS - This driver is deprecated and will probably be removed soon, use asus-laptop instead.
* Solicited the following feedback regarding *ATA drivers...
  " There's nothing that negatively impacts server from what I can see. The
     following remarks are more geared as an optimization, and can wait for
     the next config meeting cycle.

     There's interface everyone has settled on for SATA controllers called
     AHCI that makes driver enablement easier for new chipsets. I'm
     surprised to see it as a module seeing that all new systems default
     to AHCI.

     $ lspci | grep -i ahci
     00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset
     6 port SATA AHCI Controller (rev 06)

     You can actually flip this around in the BIOS e.g. disable AHCI and this
     device will have a new device ID and then use a different driver.

     There's no good reason not to compile in:
     CONFIG_SATA_AHCI
     CONFIG_SATA_AHCI_PLATFORM

     by default."

* CONFIG_DYNAMIC_DEBUG - Not recommending for production kernels. Another tool for debug kernels. Allows toggling per site output for code inserted using pr_debug()/dev_dbg(). So a fancy dynamically togglable printk.

Work items for oneiric-alpha-1:
[jjohansen] schedule a follow on session after UDS to continue review: DONE

Work items for oneiric-alpha-2:
[leannogasawara] CONFIG_SCSI_LPFC_DEBUG_FS investigate why this enabled: DONE
[leannogasawara] CONFIG_ATM - why 'n' for armel-versatile (likely disabled due to build failure): DONE
[leannogasawara] CONFIG_IRDA - why 'n' for armel-versatile (likely disabled due to build failure): DONE
[leannogasawara] CONFIG_LLC - likely deliberately inconsistent, but should make consistent amongst arm flavours: DONE
[leannogasawara] talk to OEM to see if we should build in any more *ATA drivers: DONE
[leannogasawara] look at why ATA_NONSTSTANDARD is only enabled for powerpc64: DONE
[leannogasawara] CONFIGNFIG_INPUT_APANEL enable as module?: DONE
[leannogasawara] CONFIG_INPUT_TOUCHSCREEN disabled on purpose for arm as it causes build failure - check if this is still the case: DONE
[leannogasawara] CONFIG_BRCMFMAC why 'y' only on arm: DONE
[leannogasawara] CONFIG_FT1000 check with themuso why this would be n for power: DONE
[leannogasawara] CONFIG_MDIO_BITBANG, investigate discrepancy: DONE
[leannogasawara] CONFIG_RTL8192*, talk to OEM what we need: DONE
[leannogasawara] CONFIG_VIDEO_OUTPUT_CONTROL investigate discrepancy: DONE
[leannogasawara] CONFIG_L2TP* why do we not enable? (this is enabled as a module): DONE
[leannogasawara] CONFIG_IPV6_MIP6 why is this disabled? should we enable? (depends on EXPERIMENTAL): DONE
[leannogasawara] CONFIG_COMPAT_BRK why is this disabled? should we enable? (enforced to n): DONE
[leannogasawara] CONFIG_FSCACHE should we enable? (it is enabled as a module): DONE

Work items for oneiric-alpha-3:
[apw] Add config items which could be M which are not detection to tooling and table to the report: DONE
[leannogasawara] per non-modular module review, Enable CONFIG_BLK_DEV_CMD64X=m on powerpc:DONE
[leannogasawara] per non-modular module review, Enable CONFIG_DL2K=m on amd64 and i386: DONE
[leannogasawara] per non-modular module review, Set CONFIG_DISPLAY_SUPPORT=m on arm: DONE
[leannogasawara] per non-modular module review, Enable CONFIG_DM9000=m on arm: DONE
[leannogasawara] per non-modular module review, Set CRYPTO_LZO=m on powerpc64-smp: DONE
[leannogasawara] per non-modular module review, Enable CONFIG_CRYPTO_GCM=m on powerpc: DONE
[leannogasawara] per non-modular module review, Enable CONFIG_CRYPTO_DEV_HIFN_795X=m on powerpc: DONE
[leannogasawara] per non-modular module review, Enable CONFIG_CRYPTO_CCM=m on powerpc: DONE
[leannogasawara] per non-modular module review, Set CONFIG_CDROM_PKTCDVD=m on amd64 and i386: DONE
[leannogasawara] per non-modular module review, Enable CONFIG_CAN_TI_HECC=m on arm: DONE
[leannogasawara] per non-modular module review, set CONFIG_ACPI_PCI_SLOT=m: DONE
[leannogasawara] per non-modular module review, set CONFIG_ACPI_SBS=m: DONE
[leannogasawara] per non-modular module review, set CONFIG_ACPI_WMI=m: DONE
[leannogasawara] per non-modular module review, set CONFIG_AD7150=m: DONE
[leannogasawara] per non-modular module review, set CONFIG_AD7152=m: DONE
[leannogasawara] per non-modular module review, enable CONFIG_BLK_DEV_DRBD=m on powerpc: DONE
[leannogasawara] per non-modular module review, disable CONFIG_ATM_DUMMY on arm: DONE
[leannogasawara] per non-modular module review, enable CONFIG_ASUS_OLED=m on powerpc: DONE
[leannogasawara] per non-modular module review, enable CONFIG_ALIM7101_WDT=m on powerpc: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily disable CONFIG_SMC91X on armel-omap: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_BRCMSMAC on arm: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily disable CONFIG_BRCMSMAC on powerpc: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_RTL8192SE on arm: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_RTL8192SE on powerpc : DONE
[leannogasawara] Revisit Revert "x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it": DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_GPIO_S5PV210 on arm: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_GPIO_S5PC100 on arm: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_GPIO_PLAT_SAMSUNG on arm: DONE
[leannogasawara] Revisit UBUNTU: [Config] Temporarily Disable CONFIG_GPIO_EXYNOS4 on arm: DONE

Work items for ubuntu-11.10-beta-2:
[jjohansen] investigate CONFIG_SLUB and why do we have it enabled: DONE
[jjohansen] investigate CONFIG_DYNAMIC_DEBUG, particularly for the server: DONE
[leannogasawara] Review non-modular modular table: POSTPONED
[leannogasawara] Final kernel content and configuration report to ubuntu-devel: DONE

Work items for ubuntu-11.10:
[apw] In the config review scripts, add 'staging' in the comments column if it's a staging driver: DONE
[apw] Add check to the script to determine if we are inconsistent to policy for all configs: DONE
[apw] In the scripts, we need a way to note why we violate policy on purpose so we don't have to always re-review the same configs each cycle: DONE
[apw] Add policy checking for NETFILTER and SENSORS to the script: DONE
[p-pisati] look into generating a trimmed down config for debug purposes (maybe discuss at the platform sprint): POSTPONED

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.