(2013/08/01 22:34), Oleg Nesterov wrote: > Just one off-topic note, > >> > @@ -632,7 +635,9 @@ static int release_all_trace_probes(void) >> > /* TODO: Use batch unregistration */ >> > while (!list_empty(&probe_list)) { >> > tp = list_entry(probe_list.next, struct trace_probe, list); >> > - unregister_trace_probe(tp); >> > + ret = unregister_trace_probe(tp); >> > + if (ret) >> > + goto end; >> > free_trace_probe(tp); >> > } > This obviously breaks all-or-nothing semantics (I mean, this breaks > the intent, the current code is buggy).
I see, since we can't lock all operations, we have to change the semantics. I think it's OK. > I think we can't avoid this, and I hope this is fine. But then perhaps > we should simply remove the "list_for_each_entry" check above? Yes, it should be done. And in that case, I'd like to remove all removable probes, as much as possible. BTW, I'd like to replace this "remove all" behavior with writing "-:*", instead of writing without append flag. Thank you, -- Masami HIRAMATSU IT Management Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/