On 2024/1/17 Russell King (Oracle) wrote:
On Wed, Jan 17, 2024 at 04:53:38PM +0800, Hao Jia wrote:
Many thanks to Russell King for his previous work on
arm64 kernel text replication.
https://lore.kernel.org/all/ZMKNYEkM7YnrDtOt@xxxxxxxxxxxxxxxxxxxxx
After applying these patches, we tested that our business performance
increased by more than 5% and the NUMA node memory bandwidth was more
balanced.
I've recently been trying to make it work with different numbers of
page tables/page sizes, so updated this patch set to V3.
Patch overview:
Patch 1-16 is a patch set based on Russell King's previous arm64
kernel text replication, rebased on commit 052d534373b7.
The following three patches are new in v3:
patch 17 fixes compilation warning
patch 18 adapts arm64 kernel text replication to support more
page tables/page sizes, in addition to 16K page size and
4-level page tables.
patch 19 fixes the abnormal startup problem caused by module_alloc()
which may allocate an address larger than KIMAGE_VADDR when kernel text
replication is enabled.
[v2] https://lore.kernel.org/all/ZMKNYEkM7YnrDtOt@xxxxxxxxxxxxxxxxxxxxx
[RFC] https://lore.kernel.org/all/ZHYCUVa8fzmB4XZV@xxxxxxxxxxxxxxxxxxxxx
Please correct me if I've made a mistake, thank you very much!
Note that, even though I haven't posted an update (I see it as mostly
pointless because *noone* commented on the previous posting) I do
maintain these patches:
git://git.armlinux.org.uk/~rmk/linux-arm.git aarch64/ktext/head
currently has them against v6.7
Thanks for sharing the information.
Would you mind reviewing patch 18 and patch 19?
patch 18 attempts to adapt arm64 kernel text replication to support more
page tables/page sizes
patch 19 fixes the problem of abnormal startup when kernel text
replication is enabled
Maybe you have a better idea to support more page tables/page sizes, any
suggestions would make sense to me.
Thanks,
Hao