Re: [PATCH v3] seqlock: mark raw_read_seqcount and read_seqcount_retry as __always_inline

From: Thomas Gleixner
Date: Fri Aug 16 2019 - 06:16:40 EST


On Fri, 26 Jul 2019, Anders Roxell wrote:
>
> -static inline void __seqcount_init(seqcount_t *s, const char *name,
> +static __always_inline void __seqcount_init(seqcount_t *s, const char *name,
> struct lock_class_key *key)

That has nothing to do with the actual problem

> -static inline void raw_write_seqcount_begin(seqcount_t *s)
> +static __always_inline void raw_write_seqcount_begin(seqcount_t *s)

Neither this, nor these:

> -static inline void raw_write_seqcount_end(seqcount_t *s)
> +static __always_inline void raw_write_seqcount_end(seqcount_t *s)
> {

> -static inline void raw_write_seqcount_barrier(seqcount_t *s)
> +static __always_inline void raw_write_seqcount_barrier(seqcount_t *s)

The following is fine as it is used in the NMI safe time accessors which
can be used as trace clock:

> -static inline int raw_read_seqcount_latch(seqcount_t *s)
> +static __always_inline int raw_read_seqcount_latch(seqcount_t *s)

The rest is bogus...

s/inline/__always_inline/g is conveniant, but does neither match the
changelog nor does it make sense.

Thanks,

tglx