Re: [PATCH resend4 2/3] itimers: fix periodic tics precision

From: Stanislaw Gruszka
Date: Tue May 26 2009 - 02:52:26 EST


On Mon, 25 May 2009 14:51:32 +0200
Stanislaw Gruszka <sgruszka@xxxxxxxxxx> wrote:

> On Mon, 25 May 2009 14:32:14 +0200 (CEST)
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > On Mon, 25 May 2009, Stanislaw Gruszka wrote:
> > > @@ -904,6 +905,7 @@ void __init time_init(void)
> > > tb_ticks_per_usec = ppc_tb_freq / 1000000;
> > > tb_to_us = mulhwu_scale_factor(ppc_tb_freq, 1000000);
> > > calc_cputime_factors();
> > > + cputime_one = jiffies_to_cputime(1);
> >
> > 1) The variable name is misleading.
>
> What about cputime_one_jiffy ?
>
> > 2) The patch breaks all powerpc platforms which have
> > CONFIG_VIRT_CPU_ACCOUNTING=n and ia64 with
> > CONFIG_VIRT_CPU_ACCOUNTING=y
>
> Stupid me, in asm-generic/cputime.h should be
> #define cputime_one jiffies_to_cputime(1)

Hmmm, I'm confused. Perhaps I missed something, but I think patch was ok.
For powerpc and ia64 and CONFIG_VIRT_CPU_ACCOUNTING=n definitions from
asm-generic/cputime.h where used. In this file was:

#define cputime_one (1UL)

and that correct as jiffies_to_cputime(x) is just (x)

For CONFIG_VIRT_CPU_ACCOUTING=y:
- For powerpc additional variable was declared and computed in
initialization time. Declaration of was in __KERENEL__ scope.
- For ia64: cputime_one was defined as jiffies_to_cputime(1)

Anyway I didn't try to even compile the patch on other architectures than x86.
Of cource I will test my patch, but first I would like to know what You think?
Does we really need such optimization (because before usage of
jiffies_to_cputime(1) was just fine) ?

Cheers
Stanislaw
--
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/