Bug 2001569

Summary: Reduce pagesize on aarch64 to make it possible to run on Apple M1 devices
Product: Red Hat Enterprise Linux 8 Reporter: Philipp Trulson <philipp>
Component: kernelAssignee: Memory Management <mm-maint>
kernel sub component: Memory Management QA Contact: Kernel General QE <kernel-general-qe>
Status: CLOSED NOTABUG Docs Contact:
Severity: unspecified    
Priority: unspecified CC: crecklin, ddutile, dhildenb
Version: 8.4   
Target Milestone: rc   
Target Release: ---   
Hardware: aarch64   
OS: Unspecified   
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-07 14:43:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

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 Red Hatbz 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.