Re: [PATCH] sched: use unsigned int for one-bit bitfield in sched_dl_entity

From: Luca Abeni
Date: Fri Nov 17 2017 - 03:20:32 EST


Hi,

On Fri, 17 Nov 2017 14:50:11 +0800
Xin Long <lucien.xin@xxxxxxxxx> wrote:

> This patch is to fix the 'dubious one-bit signed bitfield' error reported
> by sparse, when using 'make C=2'.
>
> Fixes: 799ba82de01e ("sched/deadline: Use C bitfields for the state flags")
> Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx>

I think this is very similar to patches already sent by Dan Carpenter
and Matthew Wilcox. As for the previous patches, I think the change is
ok.



Luca



> ---
> include/linux/sched.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index a5dc7c9..3e35a37 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -473,10 +473,10 @@ struct sched_dl_entity {
> * conditions between the inactive timer handler and the wakeup
> * code.
> */
> - int dl_throttled : 1;
> - int dl_boosted : 1;
> - int dl_yielded : 1;
> - int dl_non_contending : 1;
> + unsigned int dl_throttled : 1,
> + dl_boosted : 1,
> + dl_yielded : 1,
> + dl_non_contending : 1;
>
> /*
> * Bandwidth enforcement timer. Each -deadline task has its