RFC: Reducing the number of non volatile GPRs in the ppc64 kernel

Bill Schmidt wschmidt at us.ibm.com
Fri Aug 7 15:55:37 AEST 2015

I agree with Segher.  We already know we have opportunities to do a better
job with shrink-wrapping (pushing this kind of useless activity down past
early exits), so having examples of code to look at to improve this would
be useful.

-- Bill

Bill Schmidt, Ph.D.
Linux on Power Toolchain
IBM Linux Technology Center
wschmidt at us.ibm.com   (507) 319-6873

From:	Segher Boessenkool <segher at kernel.crashing.org>
To:	Anton Blanchard <anton at samba.org>
Cc:	linuxppc-dev at lists.ozlabs.org, Michael
            Gschwind/Watson/IBM at IBMUS, Alan Modra <amodra at gmail.com>, Bill
            Schmidt/Rochester/IBM at IBMUS, Ulrich Weigand
            <Ulrich.Weigand at de.ibm.com>, paulus at samba.org
Date:	08/05/2015 06:20 AM
Subject:	Re: RFC: Reducing the number of non volatile GPRs in the ppc64

Hi Anton,

On Wed, Aug 05, 2015 at 02:03:00PM +1000, Anton Blanchard wrote:
> While looking at traces of kernel workloads, I noticed places where gcc
> used a large number of non volatiles. Some of these functions
> did very little work, and we spent most of our time saving the
> non volatiles to the stack and reading them back.

That is something that should be fixed in GCC -- do you have an example
of such a function?

> It made me wonder if we have the right ratio of volatile to non
> volatile GPRs. Since the kernel is completely self contained, we could
> potentially change that ratio.
> Attached is a quick hack to gcc and the kernel to decrease the number
> of non volatile GPRs to 8. I'm not sure if this is a good idea (and if
> the volatile to non volatile ratio is right), but this gives us
> something to play with.

Instead of the GCC hack you can add a bunch of -fcall-used-r14 etc.
options; does that not work for you?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20150807/40e35e4c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20150807/40e35e4c/attachment.gif>

More information about the Linuxppc-dev mailing list