Re: [PATCH 24/32] softirq: Uninline !CONFIG_TRACE_IRQFLAGS __local_bh_disable_ip()

From: Sebastian Andrzej Siewior
Date: Wed Feb 27 2019 - 06:14:37 EST


On 2019-02-12 18:14:15 [+0100], Frederic Weisbecker wrote:
> diff --git a/include/linux/bottom_half.h b/include/linux/bottom_half.h
> index 240419382978..ef9e4c752f56 100644
> --- a/include/linux/bottom_half.h
> +++ b/include/linux/bottom_half.h
> @@ -28,17 +28,7 @@ enum
>
> #define SOFTIRQ_DATA_INIT (SOFTIRQ_ALL_MASK << SOFTIRQ_ENABLED_SHIFT)
>
> -
> -
> -#ifdef CONFIG_TRACE_IRQFLAGS
> extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
> -#else
> -static __always_inline void __local_bh_disable_ip(unsigned long ip, unsigned int cnt)
> -{
> - preempt_count_add(cnt);
> - barrier();
> -}
> -#endif

you are aware that a simple local_bh_disable() / spin_lock_bh() gains a
function call. Let me look further how much code you are going to add
hereâ

Sebastian