Message ID | 1479704219-21403-1-git-send-email-yanjiang.jin@windriver.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Mon, 2016-11-21 at 12:56 +0800, yanjiang.jin@windriver.com wrote: > From: Yanjiang Jin <yanjiang.jin@windriver.com> > > This patch is to avoid the below warning: > > kernel/sched/cpuacct.c:298:25: warning: > format '%lld' expects argument of type 'long long int', > but argument 4 has type 'long unsigned int' [-Wformat=] > > Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com> > --- > arch/powerpc/include/asm/cputime.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/include/asm/cputime.h > b/arch/powerpc/include/asm/cputime.h > index 4f60db0..4423e97 100644 > --- a/arch/powerpc/include/asm/cputime.h > +++ b/arch/powerpc/include/asm/cputime.h > @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const > unsigned long clk) > return (__force cputime_t) ct; > } > > -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) > +#define cputime64_to_clock_t(ct) \ > + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) Why is __force needed? -Scott
yanjiang.jin@windriver.com writes: > diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h > index 4f60db0..4423e97 100644 > --- a/arch/powerpc/include/asm/cputime.h > +++ b/arch/powerpc/include/asm/cputime.h > @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const unsigned long clk) > return (__force cputime_t) ct; > } > > -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) > +#define cputime64_to_clock_t(ct) \ > + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) Given the name of the function is "cputime64 to clock_t", surely we should be returning a clock_t ? cheers
On Fri, Dec 2, 2016 at 3:15 PM, Michael Ellerman <mpe@ellerman.id.au> wrote: > yanjiang.jin@windriver.com writes: > >> diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h >> index 4f60db0..4423e97 100644 >> --- a/arch/powerpc/include/asm/cputime.h >> +++ b/arch/powerpc/include/asm/cputime.h >> @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const unsigned long clk) >> return (__force cputime_t) ct; >> } >> >> -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) >> +#define cputime64_to_clock_t(ct) \ >> + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) > > Given the name of the function is "cputime64 to clock_t", surely we > should be returning a clock_t ? Please fix it in cpuacct.c Also check out git commit 527b0a76f41d062381adbb55c8eb61e32cb0bfc9 sched/cpuacct: Avoid %lld seq_printf warning Balbir
On 2016年12月02日 12:22, Balbir Singh wrote: > On Fri, Dec 2, 2016 at 3:15 PM, Michael Ellerman <mpe@ellerman.id.au> wrote: >> yanjiang.jin@windriver.com writes: >> >>> diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h >>> index 4f60db0..4423e97 100644 >>> --- a/arch/powerpc/include/asm/cputime.h >>> +++ b/arch/powerpc/include/asm/cputime.h >>> @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const unsigned long clk) >>> return (__force cputime_t) ct; >>> } >>> >>> -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) >>> +#define cputime64_to_clock_t(ct) \ >>> + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) >> Given the name of the function is "cputime64 to clock_t", surely we >> should be returning a clock_t ? > Please fix it in cpuacct.c Also check out git commit > 527b0a76f41d062381adbb55c8eb61e32cb0bfc9 > sched/cpuacct: Avoid %lld seq_printf warning Hi Balbir, Where can I find this commit? Thanks! Yanjiang > > Balbir
On Fri, 2016-12-02 at 15:15 +1100, Michael Ellerman wrote: > yanjiang.jin@windriver.com writes: > > > > > diff --git a/arch/powerpc/include/asm/cputime.h > > b/arch/powerpc/include/asm/cputime.h > > index 4f60db0..4423e97 100644 > > --- a/arch/powerpc/include/asm/cputime.h > > +++ b/arch/powerpc/include/asm/cputime.h > > @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const > > unsigned long clk) > > return (__force cputime_t) ct; > > } > > > > -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct > > )) > > +#define cputime64_to_clock_t(ct) \ > > + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) > Given the name of the function is "cputime64 to clock_t", surely we > should be returning a clock_t ? That was my initial reaction but it seems that this function has meant "return a u64 that is otherwise like clock_t" since before the beginning of git history. Both generic implementations return u64, including jiffies_64_to_clock_t which does so explicitly. -Scott
diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h index 4f60db0..4423e97 100644 --- a/arch/powerpc/include/asm/cputime.h +++ b/arch/powerpc/include/asm/cputime.h @@ -228,7 +228,8 @@ static inline cputime_t clock_t_to_cputime(const unsigned long clk) return (__force cputime_t) ct; } -#define cputime64_to_clock_t(ct) cputime_to_clock_t((cputime_t)(ct)) +#define cputime64_to_clock_t(ct) \ + (__force u64)(cputime_to_clock_t((cputime_t)(ct))) /* * PPC64 uses PACA which is task independent for storing accounting data while