Messages in this thread | | | From | Anders Roxell <> | Date | Fri, 26 Jul 2019 12:01:05 +0200 | Subject | Re: [PATCH v2] seqlock: mark raw_read_seqcount and read_seqcount_retry as __always_inline |
| |
On Sun, 23 Jun 2019 at 13:16, Thomas Gleixner <tglx@linutronix.de> wrote: > > On Tue, 11 Jun 2019, Anders Roxell wrote: > > > With the function graph tracer, each traced function calls sched_clock() > > to take a timestamp. As sched_clock() uses > > raw_read_seqcount()/read_seqcount_retry(), we must ensure that these > > do not in turn trigger the graph tracer. > > Both functions is marked as inline. However, if CONFIG_OPTIMIZE_INLINING > > is set that may make the two functions tracable which they shouldn't. > > > > Rework so that functions raw_read_seqcount and read_seqcount_retry are > > marked with __always_inline so they will be inlined even if > > CONFIG_OPTIMIZE_INLINING is turned on. > > Why just those two? The same issue can happen in other places with other > clocks which can be utilized by the tracer. > > Aside of your particular issue, there is no reason why any of those > functions should ever trigger a graph.
Yes you are correct. I'll update the patch with __always_inline to all functions in that file.
Cheers, Anders
| |