From patchwork Fri Nov 18 07:16:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 9435863 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1BA686047D for ; Fri, 18 Nov 2016 07:17:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0B827297C4 for ; Fri, 18 Nov 2016 07:17:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F0BF7297FA; Fri, 18 Nov 2016 07:17:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 316B6297C4 for ; Fri, 18 Nov 2016 07:17:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751634AbcKRHRb (ORCPT ); Fri, 18 Nov 2016 02:17:31 -0500 Received: from mail.kernel.org ([198.145.29.136]:42566 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751139AbcKRHRa (ORCPT ); Fri, 18 Nov 2016 02:17:30 -0500 Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 264D6203AC; Fri, 18 Nov 2016 07:17:28 +0000 (UTC) Received: from localhost.localdomain (bzq-79-178-158-20.red.bezeqint.net [79.178.158.20]) (using TLSv1.2 with cipher AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 551E520397; Fri, 18 Nov 2016 07:17:22 +0000 (UTC) From: Krzysztof Kozlowski To: Russell King , Kukjin Kim , Krzysztof Kozlowski , Javier Martinez Canillas , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ben Dooks , Lee Jones , Arnd Bergmann , Marek Szyprowski , Bartlomiej Zolnierkiewicz , Sylwester Nawrocki , Tomasz Figa Subject: [PATCH v2] ARM: Drop fixed 200 Hz timer requirement from Samsung platforms Date: Fri, 18 Nov 2016 09:16:58 +0200 Message-Id: <1479453418-25314-1-git-send-email-krzk@kernel.org> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP All Samsung platforms, including the Exynos, are selecting HZ_FIXED with 200 Hz. Unfortunately in case of multiplatform image this affects also other platforms when Exynos is enabled. This looks like an very old legacy code, dating back to initial upstreaming of S3C24xx. Probably it was required for s3c24xx timer driver, which was removed in commit ad38bdd15d5b ("ARM: SAMSUNG: Remove unused plat-samsung/time.c"). Since then, this fixed 200 Hz spread everywhere, including out-of-tree Samsung kernels (SoC vendor's and Tizen's). I believe this choice was rather an effect of coincidence instead of conscious choice. Exynos uses its own MCT or arch timer and can work with all HZ values. Older platforms use newer Samsung PWM timer driver which should handle down to 100 Hz. Few perf mem and sched tests on Odroid XU3 board (Exynos5422, 4x Cortex A7, 4x Cortex A15) show no regressions when switching from 200 Hz to other values. Reported-by: Lee Jones [Dropping 200_HZ from S3C/S5P suggested by Arnd] Reported-by: Arnd Bergmann Signed-off-by: Krzysztof Kozlowski Cc: Kukjin Kim Tested-by: Javier Martinez Canillas Acked-by: Kukjin Kim Acked-by: Arnd Bergmann Acked-by: Lee Jones --- Tested on Exynos5422 and Exynos5800 (by Javier). It would be appreciated if anyone could test it on S3C24xx or S5PV210. Changes since v1: 1. Add Javier's tested-by. 2. Drop HZ_FIXED also from ARCH_S5PV210 and ARCH_S3C24XX after Arnd suggestions and analysis. --- arch/arm/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b5d529fdffab..ced2e08a9d08 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1496,8 +1496,7 @@ source kernel/Kconfig.preempt config HZ_FIXED int - default 200 if ARCH_EBSA110 || ARCH_S3C24XX || \ - ARCH_S5PV210 || ARCH_EXYNOS4 + default 200 if ARCH_EBSA110 default 128 if SOC_AT91RM9200 default 0