Laurent Dufour <lduf...@linux.vnet.ibm.com> writes: > Hi Andrew, > > On 28/09/2017 22:38, Andrew Morton wrote: >> On Thu, 28 Sep 2017 14:29:02 +0200 Laurent Dufour >> <lduf...@linux.vnet.ibm.com> wrote: >> >>>> Laurent's [0/n] provides some nice-looking performance benefits for >>>> workloads which are chosen to show performance benefits(!) but, alas, >>>> no quantitative testing results for workloads which we may suspect will >>>> be harmed by the changes(?). Even things as simple as impact upon >>>> single-threaded pagefault-intensive workloads and its effect upon >>>> CONFIG_SMP=n .text size? >>> >>> I forgot to mention in my previous email the impact on the .text section. >>> >>> Here are the metrics I got : >>> >>> .text size UP SMP Delta >>> 4.13-mmotm 8444201 8964137 6.16% >>> '' +spf 8452041 8971929 6.15% >>> Delta 0.09% 0.09% >>> >>> No major impact as you could see. >> >> 8k text increase seems rather a lot actually. That's a lot more >> userspace cacheclines that get evicted during a fault... >> >> Is the feature actually beneficial on uniprocessor? > > This is useless on uniprocessor, and I will disable it on x86 when !SMP > by not defining __HAVE_ARCH_CALL_SPF. > So the speculative page fault handler will not be built but the vm > sequence counter and the SCRU stuff will still be there. I may also make > it disabled through macro when __HAVE_ARCH_CALL_SPF is not defined, but > this may obfuscated the code a bit... > > On ppc64, as this feature requires book3s, it can't be built without SMP > support.
Book3S doesn't force SMP, eg. PMAC is Book3S but can be built with SMP=n. It's true that POWERNV and PSERIES both force SMP, and those are the platforms used on modern Book3S CPUs. cheers