>>> OK, I've ensured that the hw_breakpoint (from perf) can work >>> with kprobes (from ftrace) at the same address on x86. >>> So if arm64 already support hw_breakpoint on perf, kprobes should >>> work with it. >> >> Single-stepping on x86 is different to the step behaviour on arm64 afaik. On >> ARM, we have to manually remove the breakpoint, perform a single-step, then >> add the breakpoint again. If we re-enable debug exceptions in the kprobe >> handler, the step will complete early and we'll never step off the >> breakpoint. > > I'm unsure about arm64's debug feature behavior, what does happen when > it performs a single-step on sw-breakpoint? > >> Sandeepa: I think you need to retry Masami's test on the arm64 model, since >> I'm fairly sure it won't work as expected without some additional code. > > OK, anyway, for testing same one, we need to port ftrace first. So the next > plan is to make a kprobe module to put a probe (which just printk something) > on a specific function (e.g. vfs_symlink), and run perf record with > hw-breakpoint as below > > $ perf record -e "mem:0xXXXXXX:k" ln -s /dev/null /tmp/foo > > Note that 0xXXXXXX is the address of vfs_symlink. > > After that, you can see the message in dmesg and also check the perf result > with "sudo perf script --dump" (you can find a PERF_RECORD_SAMPLE entry if > it works) Thanks for steps, ARM64 ftrace patches are under review on arm mailing list, I can contact the (linaro) developer implementing ftrace on what's supported and then figure-out a way to test this concurrency of kprobes breakpoint and hardware breakpoint.
Thanks, Sandeepa > > 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/