Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1295989

Re: [PATCH] ARM64: Improve copy_page for 128 cache line sizes.

From Arnd Bergmann <arnd@arndb.de>
Newsgroups linux.kernel
Subject Re: [PATCH] ARM64: Improve copy_page for 128 cache line sizes.
Date 2015-12-21 14:50 +0100
Message-ID <qI90C-77H-5@gated-at.bofh.it> (permalink)
References <qHzTb-1Jy-3@gated-at.bofh.it> <qI84x-6zh-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Monday 21 December 2015, Will Deacon wrote:
> On Sat, Dec 19, 2015 at 04:11:18PM -0800, Andrew Pinski wrote:
> > Adding a check for the cache line size is not much overhead.
> > Special case 128 byte cache line size.
> > This improves copy_page by 85% on ThunderX compared to the
> > original implementation.
> 
> So this patch seems to:
> 
>   - Align the loop
>   - Increase the prefetch size
>   - Unroll the loop once
> 
> Do you know where your 85% boost comes from between these? I'd really
> like to avoid having multiple versions of copy_page, if possible, but
> maybe we could end up with something that works well enough regardless
> of cacheline size. Understanding what your bottleneck is would help to
> lead us in the right direction.
> 
> Also, how are you measuring the improvement? If you can share your
> test somewhere, I can see how it affects the other systems I have access
> to.

A related question would be how other CPU cores are affected by the change.
The test for the cache line size is going to take a few cycles, possibly
a lot on certain implementations, e.g. if we ever get one where 'mrs' is
microcoded or trapped by a hypervisor.

Are there any possible downsides to using the ThunderX version on other
microarchitectures too and skip the check?

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH] ARM64: Improve copy_page for 128 cache line sizes. Andrew Pinski <apinski@cavium.com> - 2015-12-20 01:20 +0100
  Re: [PATCH] ARM64: Improve copy_page for 128 cache line sizes. Will Deacon <will.deacon@arm.com> - 2015-12-21 13:50 +0100
    Re: [PATCH] ARM64: Improve copy_page for 128 cache line sizes. Arnd Bergmann <arnd@arndb.de> - 2015-12-21 14:50 +0100

csiph-web