Bug 2001569 - Reduce pagesize on aarch64 to make it possible to run on Apple M1 devices
Summary: Reduce pagesize on aarch64 to make it possible to run on Apple M1 devices
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: kernel
Version: 8.4
Hardware: aarch64
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Memory Management
QA Contact: Kernel General QE
Depends On:
TreeView+ depends on / blocked
Reported: 2021-09-06 12:48 UTC by Philipp Trulson
Modified: 2021-09-07 15:54 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2021-09-07 14:43:01 UTC
Type: Bug
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-96309 0 None None None 2021-09-06 12:56:58 UTC

Description Philipp Trulson 2021-09-06 12:48:19 UTC
Description of problem: At the moment the aarch64 kernel builds of RHEL8 assume a 64kB pagesize, which works fine most of the time. However when trying to run in a  virtualized environment on Apple M1 devices via Parallels Desktop it is not possible to boot RHEL8 because the M1 chips only support 4kB & 16kB pagesizes. Ubuntu and Debian are compatible with Parallels on these devices, so it should be possible for RHEL as well.

How reproducible: Everytime

Steps to Reproduce:
1. Get an Apple M1 device
2. Install latest Parallels Desktop
3. Try to boot RHEL8 oder CentOS 8 ISO

Actual results: Can't boot the OS, see here: https://cln.sh/wwcnIb

Expected results: A booting OS

Comment 1 David Hildenbrand 2021-09-07 10:28:40 UTC
I'm quite sure we don't want to change that for RHEL8 at this stage. But RHEL9 should be fine in that regard as it should be using 4k pages -- see bz 1978382.

Comment 2 Chris von Recklinghausen 2021-09-07 14:43:01 UTC
Changing the page size to 4K breaks KABI for RHEL-8 on aarch64. This is the primary reason why the page size cannot change on RHEL-8.

Please also note that the lack of 64K page size support is actually a deficiency of Apple's Hypervisor on the M1. On aarch64, Fedora which has a page size of 4K, can boot and run RHEL-8 just fine.

Perhaps reach out to Apple to see if they have plans of supporting guests with 64K pages. The ARM cpu hardware supports it.

Comment 3 Chris von Recklinghausen 2021-09-07 14:45:48 UTC
(to clarify)
on aarch64, KVM on Fedora can boot and run rhel-8 guests just fine

Comment 4 Don Dutile (Red Hat) 2021-09-07 15:26:41 UTC
RHEL9 aarch64 is changing to a 4K page size; RHEL8 cannot due to KABI impacting the page size.

As Chris well stated, the inability to run RHEL8/aarch64-64KB-pagesize is a limitation of the Apple M1 ARM implementation
-- it did not implement the full ARM feature set that enables RHEL8 to run on other 4K pagesize'd-based Linux (hypervisor/host) distros (like Fedora).

Comment 5 Philipp Trulson 2021-09-07 15:54:36 UTC
Thanks for your quick answers! I fully understand that this is Apple's "fault", not RHEL's. It's just that we need to make it work and I doubt that reaching out to Apple would change anything. Grabbing the SRPM and editing the config was actually pretty easy, but now I've wasted hours trying to build an ISO with the custom kernel.

Anyway, just wanted a clear answer and I got it.

Note You need to log in before you can comment on or make changes to this bug.