Re: [PATCH] dynamic tick patch

From: Zwane Mwaikambo
Date: Fri Jan 21 2005 - 13:32:22 EST


On Fri, 21 Jan 2005, Tony Lindgren wrote:

> > This doesn't seem to cover the local APIC timer, what do you do about the
> > 1kHz tick which it's programmed to do?
>
> Sorry for the delay in replaying. Thanks for pointing that out, I
> don't know yet what to do with the local APIC timer. Have to look at
> more.

Pavel does your test system have a Local APIC? If so that may also explain
why you didn't see a difference.

Tony, something like the following for oneshot should work, untested of
course. Perhaps you could use that for the wakeup interrupt instead?

void setup_oneshot_apic_timer(unsigned int count)
{
unsigned int lvtt, tmp_value;
unsigned long flags;

count *= calibration_result;
local_irq_save(flags);
lvtt = ~APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
apic_write_around(APIC_LVTT, lvtt);
tmp_value = apic_read(APIC_TDCR);
apic_write_around(APIC_TDCR, (tmp_value
& ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE))
| APIC_TDR_DIV_16);

apic_write_around(APIC_TMICT, count/APIC_DIVISOR);
local_irq_restore(flags);
}
-
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/