Messages in this thread |  | | Date | Mon, 25 Sep 2017 16:28:07 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH 07/25] hrtimer: Reduce conditional code (hres_active) |
| |
On Mon, 25 Sep 2017, Peter Zijlstra wrote: > On Thu, Aug 31, 2017 at 12:23:36PM -0000, Anna-Maria Gleixner wrote: > > The hrtimer_cpu_base struct has the CONFIG_HIGH_RES_TIMERS conditional > > struct member hres_active. All related functions to this member are > > conditional as well. > > > > There is no functional change, when the hres_active member is unconditional > > with all related functions and is set to zero during initialization. This > > makes the code easier to read. > > But you make what was a compile time dead-code-elimination into a > runtime load-and-branch. > > Unless the compiler is overly clever and is able to deduce from the lack > of assignments that it must always be 0, is it?
Probably not. So the simple way to solve this is to make the new common
is_highres_active() { return IS_ENABLED(CONFIG_HIGH_RES) ? base->hres_active : 0; }
Thanks,
tglx
|  |