linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/6] uprobes: kill uprobes_srcu/uprobe_srcu_id
@ 2012-04-05 22:20 Oleg Nesterov
  2012-04-05 22:20 ` [PATCH 1/6] uprobes: introduce find_active_uprobe() Oleg Nesterov
                   ` (7 more replies)
  0 siblings, 8 replies; 38+ messages in thread
From: Oleg Nesterov @ 2012-04-05 22:20 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra, Srikar Dronamraju
  Cc: Andrew Morton, Linus Torvalds, Ananth N Mavinakayanahalli,
	Jim Keniston, LKML, Linux-mm, Andi Kleen, Christoph Hellwig,
	Steven Rostedt, Arnaldo Carvalho de Melo, Masami Hiramatsu,
	Thomas Gleixner, Anton Arapov

Hello.

Not for inclusion yet, only for the early review.

I didn't even try to test these changes, and I am not expert
in this area. And even _if_ this code is correct, I need to
re-split these changes anyway, update the changelogs, etc.

Questions:

	- does it make sense?

	- can it work or I missed something "in general" ?

Why:

	- It would be nice to remove a member from task_struct.

	- Afaics, the usage of uprobes_srcu does not look right,
	  at least in theory, see 6/6.

	  The comment above delete_uprobe() says:

	  	The current unregistering thread waits till all
	  	other threads have hit a breakpoint, to acquire
	  	the uprobes_treelock before the uprobe is removed
	  	from the rbtree.

	  but synchronize_srcu() can only help if a thread which
	  have hit the breakpoint has already called srcu_read_lock().
	  It can't synchronize with read_lock "in future", and there
	  is a small window.

	  We could probably add another synchronize_sched() before
	  synchronize_srcu(), but this doesn't look very nice and

	- I am not sure yet, but perhaps with these changes we can
	  also kill mm->uprobes_state.count.

Any review is very much appreciated.

Oleg.

 include/linux/sched.h   |    1 -
 kernel/events/uprobes.c |  117 ++++++++++++++++++++++++++++++-----------------
 2 files changed, 75 insertions(+), 43 deletions(-)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2012-04-25 14:23 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-05 22:20 [RFC 0/6] uprobes: kill uprobes_srcu/uprobe_srcu_id Oleg Nesterov
2012-04-05 22:20 ` [PATCH 1/6] uprobes: introduce find_active_uprobe() Oleg Nesterov
2012-04-05 22:21 ` [PATCH 2/6] uprobes: introduce is_swbp_at_addr_fast() Oleg Nesterov
2012-04-16 10:08   ` Peter Zijlstra
2012-04-16 14:44     ` Oleg Nesterov
2012-04-16 14:55       ` Peter Zijlstra
2012-04-16 15:34         ` Oleg Nesterov
2012-04-17 10:08           ` Peter Zijlstra
2012-04-17 17:09             ` Oleg Nesterov
2012-04-17 19:53               ` Peter Zijlstra
2012-04-05 22:21 ` [PATCH 3/6] uprobes: teach find_active_uprobe() to provide the "is_swbp" info Oleg Nesterov
2012-04-05 22:21 ` [PATCH 4/6] uprobes: change register_for_each_vma() to take mm->mmap_sem for writing Oleg Nesterov
2012-04-05 22:22 ` [PATCH 5/6] uprobes: teach handle_swbp() to rely on "is_swbp" rather than uprobes_srcu Oleg Nesterov
2012-04-05 22:22 ` [PATCH 6/6] uprobes: kill uprobes_srcu/uprobe_srcu_id Oleg Nesterov
2012-04-14 11:16 ` [RFC 0/6] " Ingo Molnar
2012-04-16 11:31   ` Srikar Dronamraju
2012-04-16 14:41     ` Oleg Nesterov
2012-04-25 12:52       ` Srikar Dronamraju
2012-04-25 14:22         ` Oleg Nesterov
2012-04-14 13:16 ` Peter Zijlstra
2012-04-14 20:52   ` Oleg Nesterov
2012-04-15 10:51     ` Peter Zijlstra
2012-04-15 19:53       ` Oleg Nesterov
2012-04-15 21:48         ` Peter Zijlstra
2012-04-15 23:44           ` Oleg Nesterov
2012-04-16 10:16             ` Peter Zijlstra
2012-04-16 21:47               ` Oleg Nesterov
2012-04-20 10:14                 ` Peter Zijlstra
2012-04-20 10:16                   ` Srikar Dronamraju
2012-04-20 18:58                     ` Oleg Nesterov
2012-04-20 18:37                   ` Oleg Nesterov
2012-04-23  7:14                     ` Peter Zijlstra
2012-04-23  7:24                       ` Srikar Dronamraju
2012-04-23  7:40                         ` Peter Zijlstra
2012-04-23 17:29                           ` Oleg Nesterov
2012-04-23 19:18                             ` Peter Zijlstra
2012-04-23 20:50                               ` Oleg Nesterov
2012-04-23 21:25                                 ` Oleg Nesterov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).