RE: [PATCH] cputime: Fix timeval-->cputime conversion

From: Zengtao (B)
Date: Fri Jan 29 2016 - 21:32:16 EST


> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> Sent: Friday, January 29, 2016 4:46 PM
> To: Zengtao (B)
> Cc: Thomas Gleixner; LKML; Frederic Weisbecker
> Subject: Re: [PATCH] cputime: Fix timeval-->cputime conversion
>
> On Friday 29 January 2016 03:12:37 Zengtao wrote:
> > > -----Original Message-----
> > > From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> > > Sent: Thursday, January 28, 2016 7:52 PM
> > > To: Thomas Gleixner
> > > Cc: Zengtao (B); LKML; Frederic Weisbecker
> > > Subject: Re: [PATCH] cputime: Fix timeval-->cputime conversion
> > >
> > > On Thursday 28 January 2016 09:22:04 Thomas Gleixner wrote:
> > > > Cc'ing Arnd
> > > >
> > > > On Thu, 28 Jan 2016, zengtao wrote:
> > > >
> > > > > The structure:
> > > > > struct timeval {
> > > > > __kernel_time_t tv_sec; /* seconds */
> > > > > __kernel_suseconds_t tv_usec; /* microseconds
> */
> > > > > };
> > > > > both __kernel_time_t and __kernel_suseconds_t are short than u64
> > > > > when it is 32bit platform, so force u64 conversion here.
> > > > >
> > > > > Signed-off-by: zengtao <prime.zeng@xxxxxxxxxx>
> > > >
> > > > Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > >
> > > This seems to miss timespec_to_cputime(), which has the same problem,
> > > so only setitimer() is fixed, but not nanosleep() or timer_settime().
> > Yes, I have checked the code just now, the timespec_to_cputime() has the
> > same problem.I found the origin issue through setitimer().And I think the
> > timespec_to_cputime() only affects timer_settime(),by which means it
> affects
> > nanosleep?
>
> Reading that code again, I think it does not affect sys_nanosleep, but
> it does affect sys_clock_nanosleep(CLOCK_PROCESS_CPUTIME_ID, ...)
> along with timer_create/timer_settime with CLOCK_PROCESS_CPUTIME_ID.
>
Got it, I will fix the timespec_to_cputime and resend the patch later.
> Arnd