Re: [PATCH] config: arm: imx: remove PROVE_LOCKING from defconfig

From: Fabio Estevam
Date: Wed Oct 10 2018 - 08:55:18 EST


Hi Lukasz,

On Tue, Oct 9, 2018 at 12:36 PM Lukasz Luba <l.luba@xxxxxxxxxxxxxxxxxxx> wrote:
>
> PROVE_LOCKING enables LOCKDEP, which causes big overhead on cache and
> bus transactions.
>
> On some ARM big.LITTLE architecutres (Exynos 5433) the overhead is really big.
> The overhead can be measures using hackbench which will speed up
> by x3 times (11sec -> 3.4sec).
> When you check transaction on cache or buses, the results are way higher
> than normal for the same hackbench test:
> L1d cache invalidations: 26mln vs 4mln
> L2u cache invalidations: 42mln vs 12mln
> bus cyc/access: 30cyc/access vs. 20cyc/access
> context switch is x3 times cheaper
>
> Enable this option only when you have some locking issue to investigate.
>
> Signed-off-by: Lukasz Luba <l.luba@xxxxxxxxxxxxxxxxxxx>
> ---
> arch/arm/configs/imx_v6_v7_defconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
> index 7eca43f..f55cd2d 100644
> --- a/arch/arm/configs/imx_v6_v7_defconfig
> +++ b/arch/arm/configs/imx_v6_v7_defconfig
> @@ -425,7 +425,6 @@ CONFIG_PRINTK_TIME=y
> CONFIG_DEBUG_FS=y
> CONFIG_MAGIC_SYSRQ=y
> # CONFIG_SCHED_DEBUG is not set
> -CONFIG_PROVE_LOCKING=y

Russell explains here why it is desirable to have
CONFIG_PROVE_LOCKING=y for development:
https://www.spinics.net/lists/kernel/msg2929513.html