lkml.org 
[lkml]   [2016]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [tip:sched/core] sched/cpuacct: Split usage accounting into user_usage and sys_usage
On Wed, Apr 06, 2016 at 08:32:19PM +1000, Anton Blanchard wrote:
> Hi,
>
> > > > void cpuacct_charge(struct task_struct *tsk, u64 cputime)
> > > > {
> > > > struct cpuacct *ca;
> > > > + int index;
> > > > +
> > > > + if (user_mode(task_pt_regs(tsk)))
> > > > + index = CPUACCT_USAGE_USER;
> > > > + else
> > > > + index = CPUACCT_USAGE_SYSTEM;
>
> This is oopsing because PowerPC task_pt_regs() returns NULL for
> kernel threads.

Ah, so sometihng like:

struct pt_regs *regs = task_pt_regs();
int index = CPUACCT_USAGE_SYSTEM;

if (regs && user_mode(regs))
index = CPUACCT_USAGE_USER;

should work, right?


\
 
 \ /
  Last update: 2016-04-06 13:21    [W:0.190 / U:0.708 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site