[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 2/2] xen: arm: update arm32 assembly primitives to Linux v3.16-rc6

On 07/25/2014 05:03 PM, Ian Campbell wrote:
> On Fri, 2014-07-25 at 16:48 +0100, Julien Grall wrote:
>> On 07/25/2014 04:48 PM, Ian Campbell wrote:
>>> On Fri, 2014-07-25 at 16:42 +0100, Julien Grall wrote:
>>>> Hi Ian,
>>>> On 07/25/2014 04:22 PM, Ian Campbell wrote:
>>>>> bitops, cmpxchg, atomics: Import:
>>>>>   c32ffce ARM: 7984/1: prefetch: add prefetchw invocations for barriered 
>>>>> atomics
>>>> Compare to Linux we don't have specific prefetch* helpers. We directly
>>>> use the compiler builtin ones. Shouldn't we import the ARM specific
>>>> helpers to gain in performance?
>>> My binaries are full of pld instructions where I think I would expect
>>> them, so it seems like the compiler builtin ones are sufficient.
>>> I suspect the Linux define is there to cope with older compilers or
>>> something.
>> If so:
> The compiled output is very different if I use the arch specific
> explicit variants. The explicit variant generates (lots) more pldw and
> (somewhat) fewer pld. I've no idea what this means...

It looks like that pldw has been defined for ARMv7 with MP extensions.

AFAIU, pldw is used to signal we will likely write on this address.

I guess, we use the prefetch* helpers more often for write in the memory.

> Note that the builtins presumably let gcc reason about whether preloads
> are needed, whereas the explicit variants do not. I'm not sure how that
> results in fewer pld with the explicit variant though! (unless it's
> doing some sort of peephole optimisation and throwing them away?)
> I've no idea what the right answer is.
> How about we take the updates for now and revisit the question of
> builtin vs explicit prefetches some other time?

I'm fine with it. You can keep the ack for this patch.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.