On 2016/11/04 at 16:23, Dave Young wrote: > Hi Xunlei, > >>> If change the logic a bit, it will be clear: >>> >>> is_trace_prepared() >>> { >>> this function only check if tracing is enabled and events matched. >>> } >>> >>> prepare_trace() >>> { >>> enable and prepare trace >>> } >>> >>> parse_trace_data() >>> { >>> >>> } >>> >>> if is_trace_prepared == true; then >>> parse_trace_data >>> else >>> prepare_trace >>> fi >>> >>> So in cmdline hook is_trace_prepared is false so the script only prepare >>> trace and enable tracing, in latter hooks it will parse trace data. >>> >>> But there should be another function to disable trace before pivot root. >> OK >> >> We should find a neat way to disable the trace function, what do you think the following way? >> Change show_memstats() and make_trace_mem() as follows: >> make_trace_mem "hook cmdline" '1+:mem' '1+:iomem' '3+:slab' '4+:komem' >> ... ... >> make_trace_mem "hook pre-pivot" '1+:mem' '1+:iomem' '3+:slab' '4+:komem' >> make_trace_mem "hook pre-pivot" '4+:komemfinish' # cleanup trace used by showkomem after use. >> >> show_memstats() >> ... ... >> >> + komem) >> + showkomem >> + ;; >> + komemfinish) >> + # disable trace after use. >> + showkomem finish >> + ;; >> esac >> > Hmm, I'm not sure it is worth, maybe add a function like > cleanup_trace_mem() is enough and we can add it just before cleanup > hook which is designed for cleanup purpose, cleanup hook is sourced > after pre-pivot so that it will still work for adding trace in any > pre-pivot scripts. OK I'll send v2 later, thanks for all the valuable suggestions. Regards, Xunlei -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html