Re: [PATCH 3/3] sched: Optimize !CONFIG_NO_HZ_COMMON cpu load updates

From: Chris Metcalf
Date: Mon Apr 11 2016 - 10:53:31 EST


On 4/11/2016 9:18 AM, Frederic Weisbecker wrote:
So I tried and it warns about the unused variable tickless_load, so I
would need two scattered ifdeffery in the function:

@@ -4528,7 +4529,9 @@ decay_load_missed(unsigned long load, unsigned long missed_updates, int idx)
static void cpu_load_update(struct rq *this_rq, unsigned long this_load,
unsigned long pending_updates)
{
+#ifdef CONFIG_NO_HZ_COMMON
unsigned long tickless_load = this_rq->cpu_load[0];
+#endif

Just move the initialization down to the first use, as a regular
assignment, and add __maybe_unused to the declaration, and the compiler
will then keep quiet (see Documentation/CodingStyle).

I have no comment on which of the approaches looks better overall,
but I think using __maybe_unused definitely improves this approach.
--
Chris Metcalf, Mellanox Technologies
http://www.mellanox.com