PreciseKernelConfigReview

Summary

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

The review in this Spec

Release Note

TBD

Rationale

We need to review the PP kernel config to:

  • Ensure sanity of options we have enabled/disabled
  • Ensure that we have the best possible coverage for hardware
  • Ensure we maintain our security options

Implementation

We need to review the default selection criteria for new options. We need to review any new options to ensure they are sensibly set. Finally we need to review important options such as filesystem selections and security options to ensure they are set as expected.

Selection Criteria

The basic rules are:

  1. if the option may be selected as module then we will enable it as a module,
  2. if the option creates a new subsystem (or filesystem) we will enable it,
  3. if the option is unlikely to cause regressions to existing behaviour we will enable it,
  4. if the option is dependent on EXPERIMENTAL then our normal policy is to not enable it, however it it is device specific we will enable it even though EXPERIMENTAL,
  5. else it will be disabled.

Additionally we have general policy of building in:

  1. subsystems associated with busses (as they will probe much earlier that way)
  2. boot essential subsystems
  3. default filesystems
  4. extremely common drivers
  5. usbhost interface drivers as they have huge ordering requirements
  6. cpufreq because it's hard to do in userspace
  7. non-discoverable drivers

Reviews

Reviews:

BoF agenda and discussion

Welcome to Ubuntu Developer Summit!

#uds-p #track #topic
put your session notes here

UUID support in the kernel may mean we need to add more boot essential devices

ECRYPT_FS -- ensure this is in the enforcer

 - Something breaks if ECRYPT is compiled as module?

EXT2 can move =m

FAT_FS should be enforced =y for ARM as they need it for boot partition

PROC_FS is not an _FS remove it

LLC shoulde be possible to move it =y for ARM

CONFIG_PACKET is ok as it is

ATA_NONSTANDARD needs investigation

PATA_OPTI needs investigation

PATA_TOSHIBA needs investigation

SENSORS_AK8975 NI

SENSORS_LINEAGE NI

SENSORS_LM95245 NI

SENSORS_MAX* NI

SENSORS_NTC_THERMISTOR

ACPI_ASUS NI

CUSTOM_METHOD is right to be off and should be enforced and have a policy listed

CONFIG_BLK look to be boot essential, add annotations

*_PHY NI do we need this, if so then it needs annotation as boot essential -- possibily registration race

CRYPTO_* is again a registration race

NON PAE kernel do we need it (WRONG SESSION)  are all intel and amd supporting PAE now for supported kernels

DM_DELAY/_FLAKY is debugging support

DM_RAID45 correctly inconsistent

EFI_VARS needs an annotation, DI requirement

FDDI annotation for protocol builtin

IDE is deprecated, needs annotation

ISI NI

KVM NI builtin on power

NLS_COEPAGE_437 builtin on arm because of FAT, annotate

POHMELFS -- NI on power

USB_SERIAL* why turned off on arm/power

ARM_PATCH_PHYS_VIRT ok needs annotation

GPIO_CS5535 =m check for i386-generic

MMC_SDHCI NI

XEN_BLKFRONT NETFRONT =y for all "anything you might run in xen"
KVM_VIRTIO (??)  equivalent drivers same thing

/procfs interfaces for ACPI battery etc are deprecated, see what breaks

DYNAMIC_DEBUG consider enabling this ... costs performance, size

NETFILTER loaded may have a measurable cost, needs investigating, OEM to investigate


KernelTeam/Specs/PreciseKernelConfigReview (last edited 2012-03-28 15:26:00 by apw)