Messages in this thread | | | Date | Wed, 22 Nov 2023 12:11:16 +0000 | From | Marc Zyngier <> | Subject | Re: [PATCH 0/4] arm64: an optimization for AmpereOne |
| |
On Wed, 22 Nov 2023 11:40:09 +0000, Mark Rutland <mark.rutland@arm.com> wrote: > > On Wed, Nov 22, 2023 at 09:48:57AM +0000, Will Deacon wrote: > > On Wed, Nov 22, 2023 at 05:28:51PM +0800, Huang Shijie wrote: > > > 0) Background: > > > We found that AmpereOne benefits from aggressive prefetches when > > > using 4K page size. > > > > We tend to shy away from micro-architecture specific optimisations in > > the arm64 kernel as they're pretty unmaintainable, hard to test properly, > > generally lead to bloat and add additional obstacles to updating our > > library routines. > > > > Admittedly, we have something for Thunder-X1 in copy_page() (disguised > > as ARM64_HAS_NO_HW_PREFETCH) but, frankly, that machine needed all the > > help it could get and given where it is today I suspect we could drop > > that code without any material consequences. > > > > So I'd really prefer not to merge this; modern CPUs should do better at > > copying data. It's copy_to_user(), not rocket science. > > I agree, and I'd also like to drop ARM64_HAS_NO_HW_PREFETCH.
+1. Also, as the (most probably) sole user of this remarkable implementation, I hacked -rc2 to drop ARM64_HAS_NO_HW_PREFETCH. The result is that a kernel compilation job regressed by 0.4%, something that I consider being pure noise.
If nobody beats me to it, I'll send the patch.
M.
-- Without deviation from the norm, progress is not possible.
| |