Port-arm archive

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

Re: aarch64 performance tweaks



>I made some more changes to reduce system time on aarch64 during compile
>jobs.  This is as far as I want to go here, I'm finished.  Review would be
>appreciated.
>
>Time before & after for an MKCTF=no kernel build on an RK3399:
>
>	643.40 real 3140.42 user 532.59 sys
>	632.24 real 3159.67 user 455.31 sys

Great!


This is the quick note;

>http://www.netbsd.org/~ad/2020/aarch64/atomic.diff
>
>- Remove memory barriers from the atomic ops.  I don't understand why those
>  are there.  Is it some architectural thing, or for a CPU bug, or just
>  over-caution maybe?  They're not needed for correctness.

Probably due to over-cautiousness.
There is (perhaps) still code that expects an implicit memory barrier.
However, I also agree with you about removing the memory barrier from atomic_ops.


>http://www.netbsd.org/~ad/2020/aarch64/mutex.diff
>
>- Assembly language stubs for mutex_enter() and mutex_exit().

BTW, there are some examples about lock in the "Load-Acquire Exclusive,
Store-Release Exclusive and barriers" section of ARMARM. According to that,
it seems to recommend putting in "prfm ...". You can use it as a reference.
(and https://github.com/torvalds/linux/commit/0ea366f5e1b6413a6095dce60ea49ae51e468b61 )


Thanks,
-- 
ryo shimizu


Home | Main Index | Thread Index | Old Index