The patch titled srcu-rcu-variant-permitting-read-side-blocking-fixes has been added to the -mm tree. Its filename is srcu-rcu-variant-permitting-read-side-blocking-fixes.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: srcu-rcu-variant-permitting-read-side-blocking-fixes From: Andrew Morton <akpm@xxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/srcu.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff -puN Documentation/RCU/checklist.txt~srcu-rcu-variant-permitting-read-side-blocking-fixes Documentation/RCU/checklist.txt diff -puN Documentation/RCU/rcu.txt~srcu-rcu-variant-permitting-read-side-blocking-fixes Documentation/RCU/rcu.txt diff -puN Documentation/RCU/whatisRCU.txt~srcu-rcu-variant-permitting-read-side-blocking-fixes Documentation/RCU/whatisRCU.txt diff -puN include/linux/srcu.h~srcu-rcu-variant-permitting-read-side-blocking-fixes include/linux/srcu.h diff -puN kernel/Makefile~srcu-rcu-variant-permitting-read-side-blocking-fixes kernel/Makefile diff -puN kernel/srcu.c~srcu-rcu-variant-permitting-read-side-blocking-fixes kernel/srcu.c --- a/kernel/srcu.c~srcu-rcu-variant-permitting-read-side-blocking-fixes +++ a/kernel/srcu.c @@ -49,7 +49,7 @@ void init_srcu_struct(struct srcu_struct sp->per_cpu_ref = (struct srcu_struct_array *) kmalloc(NR_CPUS * sizeof(*sp->per_cpu_ref), GFP_KERNEL); - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) { sp->per_cpu_ref[cpu].c[0] = 0; sp->per_cpu_ref[cpu].c[1] = 0; } @@ -121,8 +121,6 @@ void synchronize_srcu(struct srcu_struct int idx; int sum; - might_sleep(); - mutex_lock(&sp->mutex); smp_mb(); /* Prevent operations from leaking in. */ @@ -139,9 +137,8 @@ void synchronize_srcu(struct srcu_struct for (;;) { sum = 0; - for_each_cpu(cpu) { + for_each_possible_cpu(cpu) sum += sp->per_cpu_ref[cpu].c[idx]; - } if (sum == 0) break; schedule_timeout_interruptible(1); @@ -162,7 +159,7 @@ void synchronize_srcu(struct srcu_struct long srcu_batches_completed(struct srcu_struct *sp) { - return (sp->completed); + return sp->completed; } EXPORT_SYMBOL_GPL(init_srcu_struct); _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch revert-kthread-update-loopc-to-use-kthread.patch pm_trace-is-bust.patch hangcheck-remove-monotomic_clock-on-x86.patch savagefb-add-state-save-and_restore-hooks.patch au1100fb-add-power-management-support.patch imacfb-add-intel-based-macintosh-framebuffer-support.patch vt-binding-add-sysfs-control-to-the-vt-layer.patch disable-debugging-version-of-write_lock.patch acpi-update-asus_acpi-driver-registration-fix.patch catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch acpi-asus-s3-resume-fix-fix.patch sony_apci-resume.patch git-agpgart.patch kauditd_thread-warning-fix.patch git-cifs.patch usb-move-linux-usb_input.h-to-linux-usb-input-fix.patch i2c-801-64bit-resource-fix.patch git-geode-fixup.patch git-gfs2.patch gfs2-get_sb_dev-fix.patch git-input.patch git-kbuild.patch revert-sparc-build-breakage.patch git-klibc.patch git-klibc-fixup.patch git-hdrcleanup-vs-git-klibc-on-ia64.patch git-hdrcleanup-vs-git-klibc-on-ia64-2.patch libata-reduce-timeouts.patch libatah-needs-scatterlisth.patch sata-is-bust-on-s390.patch forcedeth-typecast-cleanup.patch drivers-net-ns83820c-add-paramter-to-disable-auto.patch atm-mpcc-warning-fix.patch git-pcmcia-fixup.patch powerpc-kcofnig-warning-fix.patch serial-8250-sysrq-deadlock-fix.patch serial-fix-uart_bug_txen-test.patch revert-gregkh-pci-pci-test-that-drivers-properly-call-pci_set_master.patch clear-abnormal-poweroff-flag-on-via-southbridges-fix-resume-fix.patch areca-raid-linux-scsi-driver.patch git-scsi-target-fixup.patch git-supertrak-fixup.patch revert-x86_64-mm-avoid-broadcasting-nmi-ipis.patch pgdat-allocation-for-new-node-add-export-kswapd-start-func-fix.patch adix-tree-rcu-lockless-readside-update-tidy.patch zoned-vm-counters-create-vmstatc-h-from-page_allocc-h-s390-fix.patch zoned-vm-counters-create-vmstatc-h-from-page_allocc-h-fix.patch zoned-vm-counters-basic-zvc-zoned-vm-counter-implementation-tidy.patch zoned-vm-counters-convert-nr_mapped-to-per-zone-counter-fix.patch zoned-vm-counters-remove-nr_file_mapped-from-scan-control-structure-fix.patch zoned-vm-counters-conversion-of-nr_slab-to-per-zone-counter-fix.patch zoned-vm-counters-conversion-of-nr_pagetables-to-per-zone-counter-fix.patch zoned-vm-counters-conversion-of-nr_dirty-to-per-zone-counter-fix.patch zoned-vm-counters-conversion-of-nr_writeback-to-per-zone-counter.patch zoned-vm-counters-conversion-of-nr_writeback-to-per-zone-counter-fix.patch zoned-vm-counters-conversion-of-nr_unstable-to-per-zone-counter-nfs-fix.patch zoned-vm-counters-conversion-of-nr_unstable-to-per-zone-counter-fix.patch zoned-vm-counters-conversion-of-nr_bounce-to-per-zone-counter.patch zoned-vm-counters-conversion-of-nr_bounce-to-per-zone-counter-fix.patch zoned-vm-counters-remove-read_page_state.patch acx1xx-wireless-driver.patch tiacx-pci-build-fix.patch tiacx-ia64-fix.patch i386-moving-phys_proc_id-and-cpu_core_id-to-cpuinfo_x86-warning-fix.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-tidy.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-arch_vma_name-fix.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386-2.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386-2-revert-maxmem-change.patch deprecate-smbfs-in-favour-of-cifs.patch add-export_unused_symbol-and-export_unused_symbol_gpl-default.patch load_module-cleanup.patch add-receive_room-flow-control-to-flush_to_ldisc-tidy.patch srcu-rcu-variant-permitting-read-side-blocking-fixes.patch reiserfs-on-demand-bitmap-loading-fix.patch cpu-hotplug-make-cpu_notifier-related-notifier-calls-__cpuinit-only-fix-fix.patch per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays-warning-fix.patch delay-accounting-taskstats-interface-send-tgid-once-fixes.patch sched-fix-smt-nice-lock-contention-and-optimization-tidy.patch swap_prefetch-vs-zoned-counters.patch pi-futex-rt-mutex-tester-fix.patch rtmutex-propagate-priority-settings-into-pi-lock-chains-fix.patch mark-address_space_operations-const-vs-ecryptfs-mmap-operations.patch ecryptfs-alpha-build-fix.patch ecryptfs-more-elegant-aes-key-size-manipulation-tidy.patch ecryptfs-get_sb_dev-fix.patch namespaces-add-nsproxy-dont-include-compileh.patch namespaces-utsname-switch-to-using-uts-namespaces-alpha-fix.patch namespaces-utsname-use-init_utsname-when-appropriate-cifs-update.patch namespaces-utsname-implement-utsname-namespaces-export.patch namespaces-utsname-implement-utsname-namespaces-dont-include-compileh.patch namespaces-utsname-sysctl-hack-cleanup-2-fix.patch ipc-namespace-core-fix.patch task-watchers-task-watchers-tidy.patch task-watchers-add-support-for-per-task-watchers-warning-fix.patch readahead-sysctl-parameters-fix.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch reiser4-hardirq-include-fix.patch reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch reiser4-get_sb_dev-fix.patch reiser4-vs-zoned-allocator.patch hpt3xx-rework-rate-filtering-tidy.patch genirq-rename-desc-handler-to-desc-chip-power-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix-2.patch genirq-rename-desc-handler-to-desc-chip-terminate_irqs-fix.patch genirq-ia64-build-fix.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