The patch titled rcu: add rcu_bh_sync torture type to rcutorture has been added to the -mm tree. Its filename is rcu-add-rcu_bh_sync-torture-type-to-rcutorture.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: rcu: add rcu_bh_sync torture type to rcutorture From: Josh Triplett <josht@xxxxxxxxxx> Use the newly-generic synchronous deferred free function to implement torture testing for rcu_bh using synchronize_rcu_bh rather than the asynchronous call_rcu_bh. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/RCU/torture.txt | 5 +++-- kernel/rcutorture.c | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff -puN Documentation/RCU/torture.txt~rcu-add-rcu_bh_sync-torture-type-to-rcutorture Documentation/RCU/torture.txt --- a/Documentation/RCU/torture.txt~rcu-add-rcu_bh_sync-torture-type-to-rcutorture +++ a/Documentation/RCU/torture.txt @@ -55,8 +55,9 @@ test_no_idle_hz Whether or not to test t torture_type The type of RCU to test: "rcu" for the rcu_read_lock() API, "rcu_sync" for rcu_read_lock() with synchronous reclamation, - "rcu_bh" for the rcu_read_lock_bh() API, and "srcu" for the - "srcu_read_lock()" API. + "rcu_bh" for the rcu_read_lock_bh() API, "rcu_bh_sync" for + rcu_read_lock_bh() with synchronous reclamation, and "srcu" + for the "srcu_read_lock()" API. verbose Enable debug printk()s. Default is disabled. diff -puN kernel/rcutorture.c~rcu-add-rcu_bh_sync-torture-type-to-rcutorture kernel/rcutorture.c --- a/kernel/rcutorture.c~rcu-add-rcu_bh_sync-torture-type-to-rcutorture +++ a/kernel/rcutorture.c @@ -370,6 +370,19 @@ static struct rcu_torture_ops rcu_bh_ops .name = "rcu_bh" }; +static struct rcu_torture_ops rcu_bh_sync_ops = { + .init = rcu_sync_torture_init, + .cleanup = NULL, + .readlock = rcu_bh_torture_read_lock, + .readdelay = rcu_read_delay, /* just reuse rcu's version. */ + .readunlock = rcu_bh_torture_read_unlock, + .completed = rcu_bh_torture_completed, + .deferredfree = rcu_sync_torture_deferred_free, + .sync = rcu_bh_torture_synchronize, + .stats = NULL, + .name = "rcu_bh_sync" +}; + /* * Definitions for srcu torture testing. */ @@ -452,7 +465,8 @@ static struct rcu_torture_ops srcu_ops = }; static struct rcu_torture_ops *torture_ops[] = - { &rcu_ops, &rcu_sync_ops, &rcu_bh_ops, &srcu_ops, NULL }; + { &rcu_ops, &rcu_sync_ops, &rcu_bh_ops, &rcu_bh_sync_ops, &srcu_ops, + NULL }; /* * RCU torture writer kthread. Repeatedly substitutes a new structure _ Patches currently in -mm which might be from josht@xxxxxxxxxx are xfs-add-lock-annotations-to-xfs_trans_update_ail-and-xfs_trans_delete_ail.patch mtrr-add-lock-annotations-for-prepare_set-and.patch efi-add-lock-annotations-for-efi_call_phys_prelog-and-efi_call_phys_epilog.patch mbcache-add-lock-annotation-for-__mb_cache_entry_release_unlock.patch afs-add-lock-annotations-to-afs_proc_cell_servers_startstop.patch fuse-add-lock-annotations-to-request_end-and-fuse_read_interrupt.patch hugetlbfs-add-lock-annotation-to-hugetlbfs_forget_inode.patch jbd-add-lock-annotation-to-jbd_sync_bh.patch fs-add-lock-annotation-to-grab_super.patch rcu-add-lock-annotations-to-rcu_bh_torture_read_lockunlock.patch timer-add-lock-annotation-to-lock_timer_base.patch make-spinlock-rwlock-annotations-more-accurate-by-using.patch replace-_spin_trylock-with-spin_trylock-in-the-irq.patch pass-a-lock-expression-to-__cond_lock-like-__acquire-and.patch pass-sparse-the-lock-expression-given-to-lock-annotations.patch nfsd-add-lock-annotations-to-e_start-and-e_stop.patch srcu-3-rcu-variant-permitting-read-side-blocking-srcu-add-lock-annotations.patch rcu-add-module_author-to-rcutorture-module.patch rcu-fix-incorrect-description-of-default-for-rcutorture.patch rcu-mention-rcu_bh-in-description-of-rcutortures.patch rcu-avoid-kthread_stop-on-invalid-pointer-if-rcutorture.patch rcu-fix-sign-bug-making-rcu_random-always-return-the-same.patch rcu-add-fake-writers-to-rcutorture.patch rcu-add-fake-writers-to-rcutorture-tidy.patch rcu-refactor-srcu_torture_deferred_free-to-work-for.patch rcu-add-rcu_sync-torture-type-to-rcutorture.patch rcu-add-rcu_bh_sync-torture-type-to-rcutorture.patch rcu-add-sched-torture-type-to-rcutorture.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