Re: [PATCH] kcsan: use u64 instead of cycles_t

From: Heiko Carstens
Date: Thu Jul 29 2021 - 12:10:44 EST


On Thu, Jul 29, 2021 at 08:58:34AM -0700, Paul E. McKenney wrote:
> On Thu, Jul 29, 2021 at 04:53:10PM +0200, Marco Elver wrote:
> > +Cc: Paul
> >
> > On Thu, 29 Jul 2021 at 16:28, Heiko Carstens <hca@xxxxxxxxxxxxx> wrote:
> > >
> > > cycles_t has a different type across architectures: unsigned int,
> > > unsinged long, or unsigned long long. Depending on architecture this
> > > will generate this warning:
> > >
> > > kernel/kcsan/debugfs.c: In function ‘microbenchmark’:
> > > ./include/linux/kern_levels.h:5:25: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘cycles_t’ {aka ‘long unsigned int’} [-Wformat=]
> > >
> > > To avoid this simple change the type of cycle to u64 in
> > > microbenchmark(), since u64 is of type unsigned long long for all
> > > architectures.
> > >
> > > Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
> >
> > Acked-by: Marco Elver <elver@xxxxxxxxxx>
> >
> > Do you have a series adding KCSAN support for s390, i.e. would you
> > like to keep it together with those changes?
> >
> > Otherwise this would go the usual route through Paul's -rcu tree.
>
> Either way, please let me know!

We will enable KCSAN support for s390 with the next merge window, so
I'll queue this patch also on the s390 tree.

Thanks!