Re: Subject: [PATCH] [PATCH] time: tick-sched: use bool for tick_stopped

From: yuankuiz
Date: Tue Apr 10 2018 - 04:12:09 EST


On 2018-04-10 03:55 PM, Thomas Gleixner wrote:
On Tue, 10 Apr 2018, yuankuiz@xxxxxxxxxxxxxx wrote:

From: John Zhao <yuankuiz@xxxxxxxxxxxxxx>

Variable tick_stopped returned by tick_nohz_tick_stopped
can have only true / forse values. Since the return type
of the tick_nohz_tick_stopped is also bool, variable
tick_stopped nice to have data type as bool in place of int.

The data type is not int.
[ZJ] Yes. Per newest tip in branch of linux-pm-cpuidle, it is unsigned int with 1 bit in width.
There is typo in commit message, "int" at here should be "unsigned int"

It's part of an integer bitfield and occupies
exactly one bit of storage, while bool has an architecture dependend size
and is at least 1 byte, i.e. 8 bit. So with alignment effects you grew the
size of the data structure and therefore the cache foot print.
[ZJ] So, 1 bit in width is specified as:
+ bool tick_stopped : 1;
This patch is based on the linux-pm-cpuidle branch which has
already gathered available space in the structure of tick_sched.


This is not about 'nice to have' ....

Thanks,

tglx