Bug 1978730

Summary: Change page size to 4k for aarch64
Product: Red Hat Enterprise Linux 9 Reporter: Chris von Recklinghausen <crecklin>
Component: kernelAssignee: mm-maint-bot <mm-maint>
kernel sub component: Memory Management QA Contact: Li Wang <liwan>
Status: CLOSED DUPLICATE Docs Contact:
Severity: urgent    
Priority: unspecified CC: chuhu, cye, dhildenb, fweimer, jbastian, jbrouer, lersek, onatalen, pifang, piliu, pzb
Version: 9.0   
Target Milestone: beta   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-07-20 10:20:07 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:
Embargoed:
Bug Depends On: 1979804    
Bug Blocks:    

Description Chris von Recklinghausen 2021-07-02 15:34:53 UTC
Description of problem:
The decision has been made that RHEL9 on aarch64 will have 4K pages. This is the bug for the kernel change.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Thomas Huth 2021-07-07 09:24:19 UTC
The description is very sparse - could you please elaborate on the reasons for changing the page size?

Also, is virtio-balloon now working properly with KVM guests that have a different page size? (we had some problems there in the past, see https://bugzilla.redhat.com/show_bug.cgi?id=1324092 )

Comment 3 David Hildenbrand 2021-07-07 10:57:45 UTC
(In reply to Thomas Huth from comment #1)
> The description is very sparse - could you please elaborate on the reasons
> for changing the page size?
> 
> Also, is virtio-balloon now working properly with KVM guests that have a
> different page size? (we had some problems there in the past, see
> https://bugzilla.redhat.com/show_bug.cgi?id=1324092 )

All distributions except RHEL already switched to 4k. So we're already facing host=64k guest=4k on arm64 I guess.

virtio-balloon itself works on 4k "virtual" pages.

When the guest is 64k and the host is 4k, it works by communicating 16 virtual 4k pages to the host and "works properly". When the guest is 4k and the host is 64k, it only works if the guest reports multiple contiguous 4k pages that for a 64k page -- which is often the case, but not always. The host will discard a whole 64k page once it collected all 4k pages. But it's more an optimization we added for ppc64, and not a "working properly".

Anyhow, the future is 4k and e.g., virtio-mem will benefit heavily from that; if virtio-balloon is suboptimal for now, I don't think it's a show stopper. It was never designed to support differing page sizes, unfortunately, and we've been living with this fact on ppc64 already.