lkml.org 
[lkml]   [2008]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 2.6.27-rc5 resubmit] Fix itimer/many thread hang.

    the patch wasnt built on UP i guess - see the fix below.

    the wider question is, shouldnt the UP case be just the same as the SMP
    case? Especially the type assymetry struct thread_group_cputime looks
    ugly. (and assymetries like that tend to be a constant source of
    breakage like the one below.)

    Ingo

    -------------->
    From 0a8eaa4f9b58759595a1bfe13a1295fdc25ba026 Mon Sep 17 00:00:00 2001
    From: Ingo Molnar <mingo@elte.hu>
    Date: Sun, 14 Sep 2008 17:03:52 +0200
    Subject: [PATCH] timers: fix itimer/many thread hang, fix #2
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit

    fix the UP build:

    In file included from arch/x86/kernel/asm-offsets_32.c:9,
    from arch/x86/kernel/asm-offsets.c:3:
    include/linux/sched.h: In function ‘thread_group_cputime_clone_thread’:
    include/linux/sched.h:2272: warning: no return statement in function returning non-void
    include/linux/sched.h: In function ‘thread_group_cputime_account_user’:
    include/linux/sched.h:2284: error: invalid type argument of ‘->’ (have ‘struct task_cputime’)
    include/linux/sched.h:2284: error: invalid type argument of ‘->’ (have ‘struct task_cputime’)
    include/linux/sched.h: In function ‘thread_group_cputime_account_system’:
    include/linux/sched.h:2291: error: invalid type argument of ‘->’ (have ‘struct task_cputime’)
    include/linux/sched.h:2291: error: invalid type argument of ‘->’ (have ‘struct task_cputime’)
    include/linux/sched.h: In function ‘thread_group_cputime_account_exec_runtime’:
    include/linux/sched.h:2298: error: invalid type argument of ‘->’ (have ‘struct task_cputime’)
    distcc[14501] ERROR: compile arch/x86/kernel/asm-offsets.c on a/30 failed
    make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    include/linux/sched.h | 7 ++++---
    1 files changed, 4 insertions(+), 3 deletions(-)

    diff --git a/include/linux/sched.h b/include/linux/sched.h
    index 26d7a5f..ed355f0 100644
    --- a/include/linux/sched.h
    +++ b/include/linux/sched.h
    @@ -2251,6 +2251,7 @@ static inline void thread_group_cputime_free(struct signal_struct *sig)
    static inline int thread_group_cputime_clone_thread(struct task_struct *curr,
    struct task_struct *tsk)
    {
    + return 0;
    }

    static inline void thread_group_cputime(struct task_struct *tsk,
    @@ -2263,21 +2264,21 @@ static inline void thread_group_cputime_account_user(
    struct thread_group_cputime *tgtimes,
    cputime_t cputime)
    {
    - tgtimes->totals->utime = cputime_add(tgtimes->totals->utime, cputime);
    + tgtimes->totals.utime = cputime_add(tgtimes->totals.utime, cputime);
    }

    static inline void thread_group_cputime_account_system(
    struct thread_group_cputime *tgtimes,
    cputime_t cputime)
    {
    - tgtimes->totals->stime = cputime_add(tgtimes->totals->stime, cputime);
    + tgtimes->totals.stime = cputime_add(tgtimes->totals.stime, cputime);
    }

    static inline void thread_group_cputime_account_exec_runtime(
    struct thread_group_cputime *tgtimes,
    unsigned long long ns)
    {
    - tgtimes->totals->sum_exec_runtime += ns;
    + tgtimes->totals.sum_exec_runtime += ns;
    }

    #endif /* CONFIG_SMP */
    --
    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: 2008-09-14 17:13    [W:0.027 / U:4.604 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site