On 2018-04-10 03:55 PM, Thomas Gleixner wrote:
On Tue, 10 Apr 2018, yuank...@codeaurora.org wrote:
From: John Zhao <yuank...@codeaurora.org>
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