Re: [PATCH] sched/clock: Make local_clock/cpu_clock inline

From: Daniel Lezcano
Date: Wed Apr 13 2016 - 06:05:47 EST


On 04/13/2016 11:51 AM, Ingo Molnar wrote:

* Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:

On 04/13/2016 11:41 AM, Ingo Molnar wrote:

* Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:

The local_clock/cpu_clock functions were changed to prevent a double
identical test with sched_clock_cpu() when HAVE_UNSTABLE_SCHED_CLOCK
is set. That resulted in one line functions.

As these functions are in all the cases one line functions and in the
hot path, it is useful to specify them as static inline in order to
give a strong hint to the compiler.

After verification, it appears the compiler does not inline them
without this hint. Change those functions to static inline.

Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
---
include/linux/sched.h | 32 ++++++++++++++++++++++++++++++--
kernel/sched/clock.c | 41 -----------------------------------------
2 files changed, 30 insertions(+), 43 deletions(-)

Hm, this does not seem to apply to v4.6-rc3 cleanly.

Actually I based the patches on top of tip/sched/core.

This patch does not seem to apply to tip/sched/core either (2b8c41daba32).

Ah, yes. I received a compilation error because of a missing EXPORT_SYMBOL_GPL for an inlined function call from kbuild test:

ERROR: "sched_clock_cpu" [kernel/torture.ko] undefined!
ERROR: "sched_clock_cpu" [drivers/gpu/drm/i915/i915.ko] undefined!

So I resent a fixed V2.

https://lkml.org/lkml/2016/4/11/603
https://lkml.org/lkml/2016/4/11/602

Sorry, I did not notice you were mentioning the first version which is outdated. The V2 is based on top of 2b8c41daba32.

-- Daniel

--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog