Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752351AbdCMMDz (ORCPT ); Mon, 13 Mar 2017 08:03:55 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:3868 "EHLO dggrg02-dlp.huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751058AbdCMMDs (ORCPT ); Mon, 13 Mar 2017 08:03:48 -0400 To: Catalin Marinas , Will Deacon , , "linux-kernel@vger.kernel.org" From: Ding Tianhong Subject: [PATCH] arm64: enable ARCH_WANT_RELAX_ORDER for aarch64 CC: Message-ID: <35233df0-3406-e66f-d9d2-bf7ed7814386@huawei.com> Date: Mon, 13 Mar 2017 20:03:08 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.23.32] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.58C68A92.0043,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: c3a5ccf4abca2d07ec1e64f45e789bf5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1156 Lines: 36 The ARCH_WANT_RELAX_ORDER will enable Relaxed Ordering (RO) which allows transactions that do not have any order of completion requirements to complete more efficiently compare to the Stricted Ordering (SO) for ixbge nic card. The system will see high write-to-memory performance when RO is enabled on the data transactions just like the SPARC did. The aarch64 pcie controller could both support Relaxed Ordering (RO) and Stricted Ordering (SO), so enable ARCH_WANT_RELAX_ORDER for ixgbe nic card to get much more better performance, and didn't see any adverse effects. Nic Card(Ixgbe) Disable RO | Enable RO Performance(Per thread) 8.4Gb/s | 9.4Gb/s Tested by Iperf on Hip06/Hip07 Soc Board. Signed-off-by: Ding Tianhong --- arch/arm64/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8c7c244..36249a3 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -115,6 +115,7 @@ config ARM64 select SPARSE_IRQ select SYSCTL_EXCEPTION_TRACE select THREAD_INFO_IN_TASK + select ARCH_WANT_RELAX_ORDER help ARM 64-bit (AArch64) Linux support. -- 1.9.0