Re: [RFC GIT PULL] nohz: Basic cputime accounting for adaptivetickless

From: Frederic Weisbecker
Date: Thu Jun 14 2012 - 13:35:04 EST


On Thu, Jun 14, 2012 at 04:36:33PM +0200, Ingo Molnar wrote:
>
> * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > > > > > > I'll try something with that.
> > > > > >
> > > > > > Maybe sanitize all the variants under a single set of
> > > > > > wrappers/callbacks?
> > > > >
> > > > > Yes, please!
> > > >
> > > > Sure, I'm working in it.
> > >
> > > Please keep me in the loop, I want to avoid that things
> > > break on s390. Thanks.
> >
> > Well, I realize I can't consolidate much between ia64, s390
> > and ppc because they all handle virtual cpu time accounting
> > very differently. I'm also not what the virtual timer is for.
>
> As a first step I'd suggest to create a superset of all existing
> and relied-upon wrappers/callbacks, into a single obvious
> sched_*() or time_*() namespace, without breaking functionality.

But the API is already well defined. The arch just need to implement
account_system_vtime() and account_process_tick() and record the time
on the kernel boundaries. This is pretty well contained in ppc entry.S where
it is implemented through ACCOUNT_CPU_USER_ENTRY/EXIT macros (although
I see the time accounted on syscall boundaries but not in exceptions),
it's more complicated in ia64 as the virt accounting is spread here and there
in entry.S and it's always on in s390.

May be we could standardize a bit the way we save and account the time.
This require some non-trivial asm surgery on archs I don't know much about
though.

>
> Once that is done we can eliminate individual, conceptually
> redundant callbacks, by carefully morphing the affected arches
> step by step.
>
> No arch will be left behind.
>
> Thanks,
>
> Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/