Provide a raspi-nolpae kernel flavor

Bug #1896761 reported by Juerg Haefliger
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-raspi (Ubuntu)

Bug Description


Running the current armhf raspi kernel on Pi 3 and 2 results in wasting ~70MB of memory because of LPAE. That's a significant amount of lost memory particularly on a Pi 3A+ which only has 512MB to begin with. Additionally, with HIGHMEM enabled, CMA memory is allocated from the highmem zone which is too small to provide the default 256MB for CMA. CMA is required for video HW acceleration and providing less than 256MB might result in applications falling back to SW rendering.

[Test Case]

On a Pi 3B:
$ dmesg | grep cma-reserved
[0.000000] Memory: 778696K/970752K available (12288K kernel code, 821K rwdata, 4088K rodata, 2048K init, 786K bss, 126520K reserved, 65536K cma-reserved, 118784K highmem)

[Regression Potential]

None that I can think of at the moment.


A test kernel without LPAE, without HIGHMEM and with VMSPLIT_2G on a Pi 3B:
$ dmesg | grep cma-reserved
[0.000000] Memory: 848400K/970752K available (12288K kernel code, 811K rwdata, 4056K rodata, 1024K init, 761K bss, 56816K reserved, 65536K cma-reserved)

Which results in ~70MB more available memory compared to the current raspi kernel.

CVE References

Juerg Haefliger (juergh)
affects: linux-raspi2 (Ubuntu) → linux-raspi (Ubuntu)
Changed in linux-raspi (Ubuntu Groovy):
status: New → Triaged
Juerg Haefliger (juergh)
description: updated
Juerg Haefliger (juergh)
description: updated
Juerg Haefliger (juergh)
description: updated
Juerg Haefliger (juergh)
Changed in linux-raspi (Ubuntu Groovy):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (67.7 KiB)

This bug was fixed in the package linux-raspi - 5.8.0-1003.6

linux-raspi (5.8.0-1003.6) groovy; urgency=medium

  * groovy/linux-raspi: 5.8.0-1003.6 -proposed tracker (LP: #1898142)

  * Please switch default, hwe, oem kernel flavours governor to
    CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y , such that advanced userspace
    utilities such as game-mode can be later used to rev-up to to performance,
    or rev-down to powersave. (LP: #1885730)
    - [Config] raspi: Set the default CPU governor to ONDEMAND

  * groovy/linux-raspi: Upstream raspberrypi patchset 2020-09-16 (LP: #1896436)
    - Revert "raspberrypi-cpufreq: Only report integer pll divisor frequencies"
    - staging: vchiq_arm: children inherit DMA config
    - ARM: dts: 2711 DMA can address 36 bits
    - bcm2835-dma: Advertise the full DMA range
    - configs: Adding remaining crypto API modules
    - configs: Restore missing cgroups to BCM2835-7
    - ARM: dts: Add UART skip-init properties for U-boot
    - drm/vc4: Remove UIF from the list of modifiers returned by
    - ARM: proc-v7: Force misalignment of early stmia
    - overlays: Fix sc16is75x overlays w.r.t. serdev
    - overlays: Delete spi0-hw-cs
    - overlays: Add maxtherm overlay for MAX6675/31855
    - configs: add CONFIG_SENSORS_IIO_HWMON=m
    - dtoverlays: Add the iio_hwmon driver to correct ADC issues
    - dts: bcm2711: Disable DVP by default
    - config: Add USB gadget support to bcm2711 config
    - overlays: Regenerate upstream-pi4
    - drm/vc4: Increase the number of planes per crtc in FKMS.
    - drm/vc4: Set the possible crtcs mask correctly for planes with FKMS
    - staging: vc04_services: codec: Fix incorrect buffer cleanup
    - staging: vc04_service: codec: Allow start_streaming to update the buffernum
    - staging: vc04_services: codec: Fix component enable/disable
    - configs: Add USB_GADGET=m to bcmrpi3_defconfig
    - update rpi-display-overlay.dts pins for 5.4
    - dtoverlays: Add overlay for the PCA953x family of GPIO expanders
    - rtc: rv3028: Write BSM and TCE/TCR to EEPROM
    - rtc: rv3028: Refresh RAM on EEPROM write
    - dt/overlays: Add PiFace Digital Device Tree Overlay
    - configs: Regenerate defconfigs
    - configs: Restore CONFIG_CFG80211_WEXT=y
    - media: bcm2835: unicam: Select MEDIA_CONTROLLER and VIDEO_V4L2_SUBDEV_API
    - staging: media: rpivid: Select MEDIA_CONTROLLER and
    - staging: vc04_services: codec: Select MEDIA_CONTROLLER
    - staging: vc04_services: isp: Select MEDIA_CONTROLLER
    - configs: Add CONFIG_UEVENT_HELPER=y
    - overlays: Updated MCP3008 compatible strings.
    - RESET_CONTROLLER needs to be activated to compile Broadcom BCM2835 clock
    - ARM: dts: bcm2711: Enable support for DDR52 eMMC
    - staging: vc04_services: ISP: Fix dmabuf error check in S_CTRL
    - ARM: dts: bcm2708.dtsi: Don't delete the cpus node
    - configs: Add I2C_HID=m
    - configs: Add CONFIG_SPS30=m
    - configs: Enable upstream cpufreq driver for pi0/pi1
    - ARM: dts: bcm2835: Use the L2 non-allocating alias
    - media: bcm2835-unicam:...

Changed in linux-raspi (Ubuntu Groovy):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers