lkml.org 
[lkml]   [2007]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] i386 tsc: remove xtime_lock'ing around cpufreq notifier
    On Wed, 11 Apr 2007 09:29:04 -0700
    Daniel Walker <dwalker@mvista.com> wrote:

    > The locking of the xtime_lock around the cpu notifier is unessesary now. At one
    > time the tsc was used after a frequency change for timekeeping, but the re-write
    > of timekeeping no longer uses the TSC unless the frequency is constant.
    >
    > The variables that are changed in this section of code had also once been used
    > for timekeeping, but not any longer ..
    >
    > Signed-Off-By: Daniel Walker <dwalker@mvista.com>
    >
    > ---
    > arch/i386/kernel/tsc.c | 8 +-------
    > 1 file changed, 1 insertion(+), 7 deletions(-)
    >
    > Index: linux-2.6.20/arch/i386/kernel/tsc.c
    > ===================================================================
    > --- linux-2.6.20.orig/arch/i386/kernel/tsc.c
    > +++ linux-2.6.20/arch/i386/kernel/tsc.c
    > @@ -200,13 +200,10 @@ time_cpufreq_notifier(struct notifier_bl
    > {
    > struct cpufreq_freqs *freq = data;
    >
    > - if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE)
    > - write_seqlock_irq(&xtime_lock);
    > -
    > if (!ref_freq) {
    > if (!freq->old){
    > ref_freq = freq->new;
    > - goto end;
    > + return 0;
    > }
    > ref_freq = freq->old;
    > loops_per_jiffy_ref = cpu_data[freq->cpu].loops_per_jiffy;
    > @@ -237,9 +234,6 @@ time_cpufreq_notifier(struct notifier_bl
    > }
    > }
    > }
    > -end:
    > - if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE)
    > - write_sequnlock_irq(&xtime_lock);
    >
    > return 0;
    > }

    hm.

    I've been permadropping Andi's
    ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt-current/patches/sched-clock-share
    because it causes a lockup when initscripts start ondemand on my
    single-CPU, CONFIG_SMP=n Vaio.

    I don't know _why_ it locks up - I traced it down to the
    write_seqlock_irq() which you have just removed. But write_seqlock()
    doesn't loop with CONFIG_SMP=n builds, so a hang there is quite mysterious.

    Anyway, your patch might make that hang go away. We'll see.
    -
    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: 2007-04-11 22:33    [W:0.026 / U:22.396 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site