lkml.org 
[lkml]   [2006]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 7/9] Task Watchers v2: Register lockdep task watcher
    Register a task watcher for lockdep instead of hooking into copy_process().

    Signed-off-by: Matt Helsley <matthltc@us.ibm.com>
    ---
    kernel/fork.c | 5 -----
    kernel/lockdep.c | 9 +++++++++
    2 files changed, 9 insertions(+), 5 deletions(-)

    Benchmark results:
    System: 4 1.7GHz ppc64 (Power 4+) processors, 30968600MB RAM, 2.6.19-rc2-mm2 kernel

    Clone Number of Children Cloned
    5000 7500 10000 12500 15000 17500
    ---------------------------------------------------------------------------------------
    Mean 17808.2 18092.3 18215.5 18183.6 18310.8 18342.8
    Dev 302.333 317.786 303.385 280.608 281.378 294.009
    Err (%) 1.69772 1.75647 1.66553 1.5432 1.53668 1.60285

    Fork Number of Children Forked
    5000 7500 10000 12500 15000 17500
    ---------------------------------------------------------------------------------------
    Mean 17821.8 18025.1 18112.5 18226 18217.4 18318
    Dev 316.497 310.195 291.372 297.166 364.908 293.89
    Err (%) 1.7759 1.7209 1.60868 1.63045 2.00307 1.60438

    Kernbench:
    Elapsed: 124.333s User: 439.787s System: 46.491s CPU: 390.7%
    439.67user 46.42system 2:04.09elapsed 391%CPU (0avgtext+0avgdata 0maxresident)k
    439.82user 46.46system 2:04.17elapsed 391%CPU (0avgtext+0avgdata 0maxresident)k
    439.75user 46.65system 2:04.24elapsed 391%CPU (0avgtext+0avgdata 0maxresident)k
    439.79user 46.43system 2:04.54elapsed 390%CPU (0avgtext+0avgdata 0maxresident)k
    439.71user 46.43system 2:04.56elapsed 390%CPU (0avgtext+0avgdata 0maxresident)k
    439.71user 46.51system 2:04.45elapsed 390%CPU (0avgtext+0avgdata 0maxresident)k
    439.86user 46.64system 2:04.69elapsed 390%CPU (0avgtext+0avgdata 0maxresident)k
    439.87user 46.44system 2:04.05elapsed 392%CPU (0avgtext+0avgdata 0maxresident)k
    439.87user 46.48system 2:04.63elapsed 390%CPU (0avgtext+0avgdata 0maxresident)k
    439.82user 46.45system 2:03.91elapsed 392%CPU (0avgtext+0avgdata 0maxresident)k

    Index: linux-2.6.19-rc2-mm2/kernel/fork.c
    ===================================================================
    --- linux-2.6.19-rc2-mm2.orig/kernel/fork.c
    +++ linux-2.6.19-rc2-mm2/kernel/fork.c
    @@ -1052,15 +1052,10 @@ static struct task_struct *copy_process(
    p->tgid = current->tgid;

    retval = notify_task_watchers(WATCH_TASK_INIT, clone_flags, p);
    if (retval < 0)
    goto bad_fork_cleanup_delays_binfmt;
    -#ifdef CONFIG_LOCKDEP
    - p->lockdep_depth = 0; /* no locks held yet */
    - p->curr_chain_key = 0;
    - p->lockdep_recursion = 0;
    -#endif

    #ifdef CONFIG_DEBUG_MUTEXES
    p->blocked_on = NULL; /* not blocked yet */
    #endif

    Index: linux-2.6.19-rc2-mm2/kernel/lockdep.c
    ===================================================================
    --- linux-2.6.19-rc2-mm2.orig/kernel/lockdep.c
    +++ linux-2.6.19-rc2-mm2/kernel/lockdep.c
    @@ -2556,10 +2556,19 @@ void __init lockdep_init(void)
    INIT_LIST_HEAD(chainhash_table + i);

    lockdep_initialized = 1;
    }

    +static int init_task_lockdep(unsigned long clone_flags, struct task_struct *p)
    +{
    + p->lockdep_depth = 0; /* no locks held yet */
    + p->curr_chain_key = 0;
    + p->lockdep_recursion = 0;
    + return 0;
    +}
    +task_watcher_func(init, init_task_lockdep);
    +
    void __init lockdep_info(void)
    {
    printk("Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar\n");

    printk("... MAX_LOCKDEP_SUBCLASSES: %lu\n", MAX_LOCKDEP_SUBCLASSES);
    --
    -
    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: 2006-11-03 05:33    [W:0.023 / U:1.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site