The patch titled per task delay accounting taskstats interface: fix early sem init has been added to the -mm tree. Its filename is per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks-fix-2.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: per task delay accounting taskstats interface: fix early sem init From: Shailabh Nagar <nagar@xxxxxxxxxxxxxx> Shift initialization of semaphores taken on exit() path to earlier in the bootup sequence. Without this fix, booting on large cpu machines hangs at down_read() called on one of the per-cpu semaphores declared in taskstats. Signed-off-by: Shailabh Nagar <nagar@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/taskstats.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff -puN kernel/taskstats.c~per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks-fix-2 kernel/taskstats.c --- a/kernel/taskstats.c~per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks-fix-2 +++ a/kernel/taskstats.c @@ -501,15 +501,20 @@ static struct genl_ops taskstats_ops = { /* Needed early in initialization */ void __init taskstats_init_early(void) { + unsigned int i; + taskstats_cache = kmem_cache_create("taskstats_cache", sizeof(struct taskstats), 0, SLAB_PANIC, NULL, NULL); + for_each_possible_cpu(i) { + INIT_LIST_HEAD(&(per_cpu(listener_array, i).list)); + init_rwsem(&(per_cpu(listener_array, i).sem)); + } } static int __init taskstats_init(void) { int rc; - unsigned int i; rc = genl_register_family(&family); if (rc) @@ -519,11 +524,6 @@ static int __init taskstats_init(void) if (rc < 0) goto err; - for_each_possible_cpu(i) { - INIT_LIST_HEAD(&(per_cpu(listener_array, i).list)); - init_rwsem(&(per_cpu(listener_array, i).sem)); - } - family_registered = 1; return 0; err: _ Patches currently in -mm which might be from nagar@xxxxxxxxxxxxxx are netlink-improve-string-attribute-validation.patch list_islast-utility.patch per-task-delay-accounting-setup.patch per-task-delay-accounting-sync-block-i-o-and-swapin-delay-collection.patch per-task-delay-accounting-cpu-delay-collection-via-schedstats.patch per-task-delay-accounting-utilities-for-genetlink-usage.patch per-task-delay-accounting-taskstats-interface.patch per-task-delay-accounting-delay-accounting-usage-of-taskstats-interface.patch per-task-delay-accounting-documentation.patch per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays.patch delay-accounting-taskstats-interface-send-tgid-once.patch per-task-delay-accounting-avoid-send-without-listeners.patch per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks.patch per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks-fix.patch per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks-fix-2.patch per-task-delay-accounting-taskstats-interface-control-exit-data-through-cpumasks-fix-cleanup.patch per-task-delay-accounting-taskstats-interface-documentation-fix.patch per-task-delay-accounting-taskstats-interface-fix-drop-listener-only-on-socket-close.patch per-task-delay-accounting-taskstats-interface-fix-clone-skbs-for-each-listener.patch task-watchers-register-per-task-delay-accounting.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html