Re: [PATCH tip/core/rcu 0/13] Miscellaneous fixes for 4.4

From: Josh Triplett
Date: Tue Oct 06 2015 - 13:24:01 EST


On Tue, Oct 06, 2015 at 09:13:05AM -0700, Paul E. McKenney wrote:
> Hello!
>
> This series contains miscellaneous fixes:
>
> 1. Export sched_setscheduler_nocheck() so that the new locktorture
> rtmutex_lock tests can be run as modules, courtesy of Davidlohr
> Bueso.
>
> 2. Use rcu_callback_t in call_rcu*() and friends to improve
> readability and to make cscope able to find them, courtesy of
> Boqun Feng.
>
> 3. Use call_rcu_func_t to replace explicit type equivalents when
> defining RCU callback functions, courtesy of Boqun Feng.
>
> 4. Don't unnecessarily disable preemption for Tiny and Tree
> RCU readers (only for preemptible RCU readers), courtesy
> of Boqun Feng.
>
> 5. Eliminate boot-time panic when a silly boot-time fanout is
> specified.
>
> 6. Add online/offline info to help debug stall-warning messages.
>
> 7. Move preemption disabling out of __srcu_read_lock() into
> srcu_read_lock().
>
> 8. Finish folding ->fqs_state into ->gp_state, courtesy of Petr Mladek.
>
> 9. Correct comment for values of ->gp_state field.
>
> 10. Add rcu_pointer_handoff() to allow explicit marking of handing
> off protection from RCU to some other means, such as locking
> or reference counting.
>
> 11. Make list_entry_rcu() use lockless_dereference(), courtesy
> of Patrick Marlier. Despite the fact that this patch
> does nothing more than eliminate a single store and a
> single load of an unshared stack variable it nevertheless
> manages to provide a measurable performance increase:
> http://people.csail.mit.edu/amatveev/RLU_SOSP2015.pdf
>
> 12. Remove deprecated rcu_lockdep_assert().

(And a patch 13 not mentioned here.)

I responded to patches 4, 6, and 10 with feedback; for the rest (and for
those with the issues addressed):

Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/