Skip to content

RFC: Test of zswap deferred initialisation (take 2) #3626

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 0 commits into from
May 20, 2020

Conversation

pelwell
Copy link
Contributor

@pelwell pelwell commented May 20, 2020

This PR is the result of some experimentation to try and defer the cost
of enabling the ZSWAP configuration option until zswap is actually
enabled. There is no guarantee it will get merged, but some feedback
that zswap still works and that the overhead is acceptable would make
it more likely.

It differs from #3600 in that more initialisation is done at the init stage
(allowing more memory to be released after boot), and it is also based on
the 5.4 kernel rather than 4.19.

See also the discussion at #3432.

[ From the main commit message ]

Enabling zswap support in the kernel configuration costs about 1.5MB
of RAM, even when zswap is not enabled at runtime. This cost can be
reduced significantly by deferring initialisation (including pool
creation) until the "enabled" parameter is set to true. There is a
small cost to this in that some initialisation code has to remain in
memory after the init phase, just in case they are needed later,
but the total size increase is negligible.

@pelwell pelwell merged commit 99c315e into raspberrypi:rpi-5.4.y May 20, 2020
popcornmix added a commit to raspberrypi/firmware that referenced this pull request May 20, 2020
See: raspberrypi/linux#3626

kernel: VC4 DRM/KMS - use correct dma-ranges
See: raspberrypi/linux#3623

kernel: media: bcm2835-unicam: Retain packing information on G_FMT
See: raspberrypi/linux#3622

kernel: Switch to snd_soc_dai_set_bclk_ratio
See: raspberrypi/linux#3620

kernel: V4L2 H264 framing fixes
See: raspberrypi/linux#3614

kernel: drm/vc4: Fix VIC usage with Broadcast RGB
See: raspberrypi/linux#3611

kernel: media: bcm2835-unicam: Always service interrupts
See: raspberrypi/linux#3608

kernel: overlays: Fix audio parameter of vc4-kms-v3
See: raspberrypi/linux#2489

kernel: configs: Restore missing NF_TABLES settings
See: raspberrypi/linux#3615

kernel: sc16is7xx: Fix for hardware flow control
See: raspberrypi/linux#2542

kernel: Use the upstream cpufreq driver on non-BCM2835 Pis
See: raspberrypi/linux#3604

kernel: Backport of udmabuf and dma-heaps
See: raspberrypi/linux#3571

kernel: imx477 v4l2 driver
See: raspberrypi/linux#3605

firmware: isp: fix ISP component to return non-zero focus FoMs

firmware: Fix for IMX477 focal length, f_number and aperture

firmware: Update firmware for USB MSD boot

firmware: platform: Fix overflow on high arm overclocks

firmware: video_encode: Add option to include header bytes with frame

firmware: DSI display: Close I2C handle if the display doesn't probe

firmware: mmal/vc: Add mapping for OMX_IndexConfigBufferStall / MMAL_PARAMETER_VIDEO_STALL_THRESHOLD
See: https://www.raspberrypi.org/forums/viewtopic.php?f=70&t=273123&p=1655481

firmware: hdmi: Request an I2C interrupt for EDID reading

firmware: i2c: Move using_interrupt flag into periph_setup
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this pull request May 20, 2020
See: raspberrypi/linux#3626

kernel: VC4 DRM/KMS - use correct dma-ranges
See: raspberrypi/linux#3623

kernel: media: bcm2835-unicam: Retain packing information on G_FMT
See: raspberrypi/linux#3622

kernel: Switch to snd_soc_dai_set_bclk_ratio
See: raspberrypi/linux#3620

kernel: V4L2 H264 framing fixes
See: raspberrypi/linux#3614

kernel: drm/vc4: Fix VIC usage with Broadcast RGB
See: raspberrypi/linux#3611

kernel: media: bcm2835-unicam: Always service interrupts
See: raspberrypi/linux#3608

kernel: overlays: Fix audio parameter of vc4-kms-v3
See: raspberrypi/linux#2489

kernel: configs: Restore missing NF_TABLES settings
See: raspberrypi/linux#3615

kernel: sc16is7xx: Fix for hardware flow control
See: raspberrypi/linux#2542

kernel: Use the upstream cpufreq driver on non-BCM2835 Pis
See: raspberrypi/linux#3604

kernel: Backport of udmabuf and dma-heaps
See: raspberrypi/linux#3571

kernel: imx477 v4l2 driver
See: raspberrypi/linux#3605

firmware: isp: fix ISP component to return non-zero focus FoMs

firmware: Fix for IMX477 focal length, f_number and aperture

firmware: Update firmware for USB MSD boot

firmware: platform: Fix overflow on high arm overclocks

firmware: video_encode: Add option to include header bytes with frame

firmware: DSI display: Close I2C handle if the display doesn't probe

firmware: mmal/vc: Add mapping for OMX_IndexConfigBufferStall / MMAL_PARAMETER_VIDEO_STALL_THRESHOLD
See: https://www.raspberrypi.org/forums/viewtopic.php?f=70&t=273123&p=1655481

firmware: hdmi: Request an I2C interrupt for EDID reading

firmware: i2c: Move using_interrupt flag into periph_setup
@pelwell pelwell deleted the zswaptest branch September 15, 2021 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant