Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1240639 > unrolled thread
| Started by | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| First post | 2015-10-06 18:20 +0200 |
| Last post | 2015-10-06 19:40 +0200 |
| Articles | 3 on this page of 43 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH tip/core/rcu 0/13] Miscellaneous fixes for 4.4 "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
Re: [Kernel networking modules.] OSI levels 2 & 3, Assistance - If anyone knows anyone in the US. North West region "John D Allen, Leveridge Systems INC" <john.allen@leveridgesystems.com> - 2015-10-06 18:30 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers Josh Triplett <josh@joshtriplett.org> - 2015-10-06 18:50 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:20 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:50 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 19:50 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers Peter Zijlstra <peterz@infradead.org> - 2015-10-06 22:10 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 22:20 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers Peter Zijlstra <peterz@infradead.org> - 2015-10-06 23:00 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 23:10 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers Peter Zijlstra <peterz@infradead.org> - 2015-10-07 09:30 +0200
Re: [PATCH tip/core/rcu 04/13] rcu: Don't disable preemption for Tiny and Tree RCU readers "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 19:20 +0200
[PATCH tip/core/rcu 03/13] rcu: Use call_rcu_func_t to replace explicit type equivalents "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 01/13] sched: Export sched_setscheduler_nocheck "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 09/13] rcu: Correct comment for values of ->gp_state field "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 11/13] rculist: Make list_entry_rcu() use lockless_dereference() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 02/13] rcu: Use rcu_callback_t in call_rcu*() and friends "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 12/13] rcu: Remove deprecated rcu_lockdep_assert() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
[PATCH tip/core/rcu 06/13] rcu: Add online/offline info to stall warning message "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:20 +0200
Re: [PATCH tip/core/rcu 06/13] rcu: Add online/offline info to stall warning message Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:20 +0200
[PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:30 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:20 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 19:40 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:50 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 20:10 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() Peter Zijlstra <peterz@infradead.org> - 2015-10-06 22:10 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 22:20 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() Peter Zijlstra <peterz@infradead.org> - 2015-10-06 22:40 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 23:10 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() Peter Zijlstra <peterz@infradead.org> - 2015-10-07 09:30 +0200
Re: [PATCH tip/core/rcu 07/13] rcu: Move preemption disabling out of __srcu_read_lock() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-07 16:20 +0200
[PATCH tip/core/rcu 05/13] rcu: Eliminate panic when silly boot-time fanout specified "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:30 +0200
[PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 18:30 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:30 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 19:40 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:40 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() Peter Zijlstra <peterz@infradead.org> - 2015-10-06 22:30 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 23:10 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() Peter Zijlstra <peterz@infradead.org> - 2015-10-07 09:30 +0200
Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-07 16:30 +0200
Re: [PATCH tip/core/rcu 0/13] Miscellaneous fixes for 4.4 Josh Triplett <josh@joshtriplett.org> - 2015-10-06 19:30 +0200
Re: [PATCH tip/core/rcu 0/13] Miscellaneous fixes for 4.4 "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-10-06 19:40 +0200
Page 3 of 3 — ← Prev page 1 2 [3]
| From | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-10-07 16:30 +0200 |
| Subject | Re: [PATCH tip/core/rcu 10/13] rcu: Add rcu_pointer_handoff() |
| Message-ID | <qgXTc-7qA-13@gated-at.bofh.it> |
| In reply to | #1241191 |
On Wed, Oct 07, 2015 at 09:22:27AM +0200, Peter Zijlstra wrote:
> On Tue, Oct 06, 2015 at 02:02:43PM -0700, Paul E. McKenney wrote:
> > On Tue, Oct 06, 2015 at 10:27:41PM +0200, Peter Zijlstra wrote:
> > > On Tue, Oct 06, 2015 at 09:13:45AM -0700, Paul E. McKenney wrote:
> > > > /**
> > > > + * rcu_pointer_handoff() - Hand off a pointer from RCU to other mechanism
> > > > + * @p: The pointer to hand off
> > > > + *
> > > > + * This is simply an identity function, but it documents where a pointer
> > > > + * is handed off from RCU to some other synchronization mechanism, for
> > > > + * example, reference counting or locking. In C11, it would map to
> > > > + * kill_dependency(). It could be used as follows:
> > > > + *
> > > > + * rcu_read_lock();
> > > > + * p = rcu_dereference(gp);
> > > > + * long_lived = is_long_lived(p);
> > > > + * if (long_lived) {
> > > > + * if (!atomic_inc_not_zero(p->refcnt))
> > > > + * long_lived = false;
> > > > + * else
> > > > + * p = rcu_pointer_handoff(p);
> > > > + * }
> > > > + * rcu_read_unlock();
> > > > + */
> > > > +#define rcu_pointer_handoff(p) (p)
> > >
> > > Will you actually be using this? It seems a tad pointless to add if you
> > > don't.
> >
> > Some of the LLVM guys believe that they can diagnose RCU pointer leaks
> > if this is used. But yes, it does need to be used.
>
> The thing is, I'm not convinced this is a 'sane' interface. Its _far_
> too easy to forget. It doesn't make any kind of sense either, which is
> part of why its hard to remember.
Indeed, the only thing that would make it easy to remember is if there are
tools that check for pointer leaks from RCU read-side critical sections.
But without this interface, such tools are insanely difficult to create.
So there is a chicken-and-egg problem here, which I am attempting to
deal with by providing an egg. Hopefully not laying an egg, but time
will tell. ;-)
Thanx, Paul
--
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/
[toc] | [prev] | [next] | [standalone]
| From | Josh Triplett <josh@joshtriplett.org> |
|---|---|
| Date | 2015-10-06 19:30 +0200 |
| Message-ID | <qgEdP-4lc-5@gated-at.bofh.it> |
| In reply to | #1240639 |
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@joshtriplett.org> -- 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/
[toc] | [prev] | [next] | [standalone]
| From | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-10-06 19:40 +0200 |
| Message-ID | <qgEny-4wt-39@gated-at.bofh.it> |
| In reply to | #1240775 |
On Tue, Oct 06, 2015 at 10:23:51AM -0700, Josh Triplett wrote: > 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.) Oops... "Use WRITE_ONCE() when deleting from reader-visible list" included to make KTSAN happier. > 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@joshtriplett.org> Thank you for the review and comments! Thanx, Paul -- 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/
[toc] | [prev] | [standalone]
Page 3 of 3 — ← Prev page 1 2 [3]
Back to top | Article view | linux.kernel
csiph-web