Received: by 10.223.185.116 with SMTP id b49csp2781066wrg; Mon, 12 Feb 2018 15:46:51 -0800 (PST) X-Google-Smtp-Source: AH8x226sfsZ93mSwMArBNdLkZNbjeCFvi2fvyG548rLY5QHrO+ybyz3cSL1eOwPv03bVO5dCUTdd X-Received: by 10.98.249.68 with SMTP id g4mr3451481pfm.81.1518479211042; Mon, 12 Feb 2018 15:46:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518479211; cv=none; d=google.com; s=arc-20160816; b=EEGSDQGX6Aq4HJwxNaRDiX854D5cfTunFcmJkceW43e6wHSaW1Z403ott0fv7pCTDD eiv5j+hehZoP3UbWYdJfWU2IKYhOaMn7E127/J5SbbMuHRLWoOV94buLQjtCkGx6aenn ZswYSERtH3vXDFNIwlMGBIVTBLe8za/IEdJ3bKyJji0TTeVasy7qqfQHy6gfYWbVIDNQ JDj30P2Cd+NMcKW3Wjnlx1iLw+OxMfeKEsCCYYJ7MoZdkFFU94YTf251lG/zVZabgroN 5in5ErJvviSwcZMSp+AYOYcfuwqpHsHSbsQ8zbO6mHr8zC7xz0fsfWyfAUg7JHWdq6vK xbPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=id6ShcOPxTIYp2AhjvLjhODWWEYpGGg8/VjUTlfqiPg=; b=YV0PildyjZcjYw8G442ueGbRWQ0acWcRz8eEMnhtDPCpgMnoL4q8zR6jrNVlSNVwNQ 85pgfcK3EkzlON8StPFcunRkXtqmsnhzjJ7kM4W1Q8Xg59+CKk20G1iSnRMw7VbAZhF/ 1Z6em8MtPW+dEO5ryYouluV4EqwXC2RejFAw8IWgAlkbXrlJsGXw/CqMggWdPIcRN3OE eaXiJGXb9ZPAb9HYM8wKBr6o0imyAQie/hahyTQST7ZuR3Y8u1nAYM1G9LTEmBV08nMF Iv8VLA59/KhnWbPhzSaDLJ8Ng60GXzXo8iFm9QGWPQcuIAsxtc9RBBz4fQZkf8XaqsIS 3dxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XAOwhUIo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b1si347397pgq.773.2018.02.12.15.46.36; Mon, 12 Feb 2018 15:46:50 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XAOwhUIo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932773AbeBLXpt (ORCPT + 99 others); Mon, 12 Feb 2018 18:45:49 -0500 Received: from mail-qt0-f193.google.com ([209.85.216.193]:35205 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932469AbeBLXps (ORCPT ); Mon, 12 Feb 2018 18:45:48 -0500 Received: by mail-qt0-f193.google.com with SMTP id g14so1691401qti.2 for ; Mon, 12 Feb 2018 15:45:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=id6ShcOPxTIYp2AhjvLjhODWWEYpGGg8/VjUTlfqiPg=; b=XAOwhUIoYe+8DmpLx5Pc4VElzsvfdF5mC5zUXCGUoPZqNgAaz75Q7Kuu4X4+53KgnP xUxpTEGXNan8dhBS/q5IEYwAS5+WZoU1rLF1jTaO+8cfrLj/mK3Dby8aNd68vEooL/jg 1Jc7Wz3faRE1eLQshymajkiPMiCtU5DpeMpozKLfokP8tQZ0lJDeHjYAFsWK5fPGK6tI GrZ7oYH4lvjg8LXJ0bBimTbp3FAClBgm3YSKodHWb+oEUdhqg+lDhzMhMaJDb2dh4Da4 +EIHOWhDS/i438C1egLMibfSwaWug1IKjCKx3Xmh+7sLqmh/UHVr9wx+eAh0gOzVWVKU 5azw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=id6ShcOPxTIYp2AhjvLjhODWWEYpGGg8/VjUTlfqiPg=; b=eVRJEBUwLDAOF2dydzaXvFmtZQTEuKVTq1kFldESAi/HFO+Qfh1UKeHTOkA4NV+PYV uDJoHyOYOygZnyA5/8E1xsj3IFjOUQyGV2x2aGV96kClCi/XTD+wKda1cEF5H2mMYgmr Mxg2h17Xiglzs/xqFB60s49zzf37sQegEXeC2PTH90q0HnxiSRa2ftDbzbq+rL8KrvfP 4er8wvW6vLMVWsNZa/jJ2z+fRzKX6DvsLsI4qcYpuPvK5XG5HRfl9Xlle3blUkP0kBY9 UapmseqNlx3vsi6nSFGByGhQFgBl8+Xpg8nsZwpDGhru5cHoSIqtOewLqHc8HzgElJX7 SPGw== X-Gm-Message-State: APf1xPAkKhy+rZVMrlFvtscKx01HbHEbNfK1TQXotW01ifENo8fdEGzB 1UUGg/pXcTkCogOYtk3yYP4= X-Received: by 10.200.52.70 with SMTP id v6mr22135963qtb.66.1518479147195; Mon, 12 Feb 2018 15:45:47 -0800 (PST) Received: from stbirv-lnx-3.igp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id o98sm6153995qkh.82.2018.02.12.15.45.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 12 Feb 2018 15:45:46 -0800 (PST) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Cc: tchalamarla@cavium.com, rrichter@cavium.com, timur@codeaurora.org, opendmb@gmail.com, Florian Fainelli , Catalin Marinas , Will Deacon , Mark Rutland , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] arm64: Make L1_CACHE_SHIFT configurable Date: Mon, 12 Feb 2018 15:45:23 -0800 Message-Id: <1518479125-14428-1-git-send-email-f.fainelli@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On many platforms, including, but not limited to Brahma-B53 platforms, the L1 cache line size is 64bytes. Increasing the value to 128bytes appears to be creating performance problems for workloads involving network drivers and lots of data movement. In order to keep what was introduced with 97303480753e ("arm64: Increase the max granular size"), a kernel built for ARCH_THUNDER or ARCH_THUNDER2 will get a 128bytes cache line size definition. Signed-off-by: Florian Fainelli --- arch/arm64/Kconfig | 10 ++++++++++ arch/arm64/Kconfig.platforms | 2 ++ arch/arm64/include/asm/cache.h | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index b488076d63c2..8060cbbbfd77 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -782,6 +782,16 @@ config ARCH_WANT_HUGE_PMD_SHARE config ARCH_HAS_CACHE_LINE_SIZE def_bool y +config ARM64_L1_CACHE_SHIFT_7 + bool + help + Setting ARM64 L1 cache line size to 128 bytes. + +config ARM64_L1_CACHE_SHIFT + int + default 7 if ARM64_L1_CACHE_SHIFT_7 + default 6 + source "mm/Kconfig" config SECCOMP diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 2401373565ff..b595f5624f75 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -228,11 +228,13 @@ config ARCH_SPRD config ARCH_THUNDER bool "Cavium Inc. Thunder SoC Family" + select ARM64_L1_CACHE_SHIFT_7 help This enables support for Cavium's Thunder Family of SoCs. config ARCH_THUNDER2 bool "Cavium ThunderX2 Server Processors" + select ARM64_L1_CACHE_SHIFT_7 select GPIOLIB help This enables support for Cavium's ThunderX2 CN99XX family of diff --git a/arch/arm64/include/asm/cache.h b/arch/arm64/include/asm/cache.h index ea9bb4e0e9bb..2ff64929e6bd 100644 --- a/arch/arm64/include/asm/cache.h +++ b/arch/arm64/include/asm/cache.h @@ -29,7 +29,7 @@ #define ICACHE_POLICY_VIPT 2 #define ICACHE_POLICY_PIPT 3 -#define L1_CACHE_SHIFT 7 +#define L1_CACHE_SHIFT CONFIG_ARM64_L1_CACHE_SHIFT #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) /* -- 2.7.4