On Tue, Jul 07, 2020 at 01:31:37PM +0800, Chinwen Chang wrote: [..] > > > Hi Laurent, > > > > > > We merged SPF v11 and some patches from v12 into our platforms. After > > > several experiments, we observed SPF has obvious improvements on the > > > launch time of applications, especially for those high-TLP ones, > > > > > > # launch time of applications(s): > > > > > > package version w/ SPF w/o SPF improve(%) > > > ------------------------------------------------------------------ > > > Baidu maps 10.13.3 0.887 0.98 9.49 > > > Taobao 8.4.0.35 1.227 1.293 5.10 > > > Meituan 9.12.401 1.107 1.543 28.26 > > > WeChat 7.0.3 2.353 2.68 12.20 > > > Honor of Kings 1.43.1.6 6.63 6.713 1.24 > > > > That's great news, thanks for reporting this! > > > > > > > > By the way, we have verified our platforms with those patches and > > > achieved the goal of mass production. > > > > Another good news! > > For my information, what is your targeted hardware? > > > > Cheers, > > Laurent. > > Hi Laurent, > > Our targeted hardware belongs to ARM64 multi-core series. Hello! I was trying to develop an intuition about why does SPF give improvement for you on small CPU systems. This is just a high-level theory but: 1. Assume the improvement is because of elimination of "blocking" on mmap_sem. Could it be that the mmap_sem is acquired in write-mode unnecessarily in some places, thus causing blocking on mmap_sem in other paths? If so, is it feasible to convert such usages to acquiring them in read-mode? 2. Assume the improvement is because of lesser read-side contention on mmap_sem. On small CPU systems, I would not expect reducing cache-line bouncing to give such a dramatic improvement in performance as you are seeing. Thanks for any insight on this! - Joel