lkml.org 
[lkml]   [2008]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] Re: x86_32 tsc/pit and hrtimers
    From
    Date
    On Thu, 2008-10-09 at 14:18 -0700, Jeff Hansen wrote:
    > [X86] Add tsc=stable option for marking TSC as stable
    >
    > This enables legacy hardware or VMs without HPET, LAPIC, or ACPI
    > timers to enter high-resolution timer mode.
    >
    > Signed-off-by: Jeff Hansen <jhansen@cardaccess-inc.com>
    > ---
    > Documentation/kernel-parameters.txt | 4 ++++
    > arch/x86/kernel/tsc_32.c | 12 +++++++++++-
    > arch/x86/kernel/tsc_64.c | 9 +++++++++
    > 3 files changed, 24 insertions(+), 1 deletions(-)

    Hi Jeff,

    I see that these changes are not for the mainline tree. Do you plan to
    do something of this sought for mainline (.28/tip) ?

    My comments below are mainly for generalizing this stuff, don't know how
    useful these (my comments) will be for 26.5


    > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
    > index 9611505..8488074 100644
    > --- a/Documentation/kernel-parameters.txt
    > +++ b/Documentation/kernel-parameters.txt
    > @@ -2084,6 +2084,10 @@ and is between 256 and 4096 characters. It is defined in the file
    > Format:
    > <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq>
    >
    > + tsc= [X86-32,X86-64]
    > + tsc=stable: Mark TSC clocksource as stable, enabling
    > + high-resolution timer mode on older hardware.
    > +
    > turbografx.map[2|3]= [HW,JOY]
    > TurboGraFX parallel port interface
    > Format:
    > diff --git a/arch/x86/kernel/tsc_32.c b/arch/x86/kernel/tsc_32.c
    > index 65b7063..f6e8f71 100644
    > --- a/arch/x86/kernel/tsc_32.c
    > +++ b/arch/x86/kernel/tsc_32.c
    > @@ -49,6 +49,17 @@ static int __init tsc_setup(char *str)
    >
    > __setup("notsc", tsc_setup);
    >
    > +static struct clocksource clocksource_tsc;
    > +
    > +static int __init tscx_setup(char *str)
    > +{
    > + if (!strcmp(str, "stable"))
    > + clocksource_tsc.flags &= ~CLOCK_SOURCE_MUST_VERIFY;

    Should we add a flag here instead, say tsc_reliable ? or whatever else
    you want to call that.

    Also, there is code in check_geode_tsc_reliable which too sets this flag
    for the TSC clocksource.
    Maybe you can just set the tsc_reliable flag from tscx_setup and
    check_geode_tsc_reliable, and then check "tsc_reliable" value and set
    the verify flag in init_tsc_clocksource.

    Thanks,
    Alok





    \
     
     \ /
      Last update: 2008-10-10 00:05    [W:0.027 / U:59.748 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site