lkml.org 
[lkml]   [2007]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] scheduler: fix x86 regression in native_sched_clock

    * Guillaume Chazarain <guichaz@yahoo.fr> wrote:

    > > Something like http://lkml.org/lkml/2007/3/16/291 that would need
    > > some refresh?
    >
    > And here is a refreshed one just for testing with 2.6-git. The 64 bit
    > part is a shamelessly untested copy/paste as I cannot test it.

    yeah, we can do something like this in 2.6.25 - this will improve the
    quality of sched_clock(). The other patch i sent should solve the
    problem for 2.6.24 - printk should not be using raw sched_clock() calls.
    (as the name says it's for the scheduler's internal use.) I've also
    queued up the patch below - it removes the now unnecessary printk clock
    code.

    Ingo

    --------------------->
    Subject: sched: remove printk_clock()
    From: Ingo Molnar <mingo@elte.hu>

    printk_clock() is obsolete - it has been replaced with cpu_clock().

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    arch/arm/kernel/time.c | 11 -----------
    arch/ia64/kernel/time.c | 27 ---------------------------
    kernel/printk.c | 5 -----
    3 files changed, 43 deletions(-)

    Index: linux/arch/arm/kernel/time.c
    ===================================================================
    --- linux.orig/arch/arm/kernel/time.c
    +++ linux/arch/arm/kernel/time.c
    @@ -79,17 +79,6 @@ static unsigned long dummy_gettimeoffset
    }
    #endif

    -/*
    - * An implementation of printk_clock() independent from
    - * sched_clock(). This avoids non-bootable kernels when
    - * printk_clock is enabled.
    - */
    -unsigned long long printk_clock(void)
    -{
    - return (unsigned long long)(jiffies - INITIAL_JIFFIES) *
    - (1000000000 / HZ);
    -}
    -
    static unsigned long next_rtc_update;

    /*
    Index: linux/arch/ia64/kernel/time.c
    ===================================================================
    --- linux.orig/arch/ia64/kernel/time.c
    +++ linux/arch/ia64/kernel/time.c
    @@ -344,33 +344,6 @@ udelay (unsigned long usecs)
    }
    EXPORT_SYMBOL(udelay);

    -static unsigned long long ia64_itc_printk_clock(void)
    -{
    - if (ia64_get_kr(IA64_KR_PER_CPU_DATA))
    - return sched_clock();
    - return 0;
    -}
    -
    -static unsigned long long ia64_default_printk_clock(void)
    -{
    - return (unsigned long long)(jiffies_64 - INITIAL_JIFFIES) *
    - (1000000000/HZ);
    -}
    -
    -unsigned long long (*ia64_printk_clock)(void) = &ia64_default_printk_clock;
    -
    -unsigned long long printk_clock(void)
    -{
    - return ia64_printk_clock();
    -}
    -
    -void __init
    -ia64_setup_printk_clock(void)
    -{
    - if (!(sal_platform_features & IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT))
    - ia64_printk_clock = ia64_itc_printk_clock;
    -}
    -
    /* IA64 doesn't cache the timezone */
    void update_vsyscall_tz(void)
    {
    Index: linux/kernel/printk.c
    ===================================================================
    --- linux.orig/kernel/printk.c
    +++ linux/kernel/printk.c
    @@ -573,11 +573,6 @@ static int __init printk_time_setup(char

    __setup("time", printk_time_setup);

    -__attribute__((weak)) unsigned long long printk_clock(void)
    -{
    - return sched_clock();
    -}
    -
    /* Check if we have any console registered that can be called early in boot. */
    static int have_callable_console(void)
    {

    \
     
     \ /
      Last update: 2007-12-07 09:55    [W:0.039 / U:0.208 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site