lkml.org 
[lkml]   [2005]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] dynamic tick patch
    * Zwane Mwaikambo <zwane@arm.linux.org.uk> [050121 10:27]:
    > 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.

    Yeah, that could explain why sleep mode seems to wake up too early.

    > 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);
    > }
    >

    Thanks, I'll try it out! As George also pointed out, we should use apic
    timer if available. Else we can fall back on use PIT.

    Tony
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:09    [W:2.394 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site