Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 4 Jan 2023 16:34:26 +0800 | Subject | Re: [PATCH v5 1/9] riscv/kprobe: Prepare the skeleton to implement RISCV OPTPROBES feature | From | "liaochang (A)" <> |
| |
在 2023/1/3 2:03, Björn Töpel 写道: > Chen Guokai <chenguokai17@mails.ucas.ac.cn> writes: > >> From: Liao Chang <liaochang1@huawei.com> >> >> Prepare skeleton to implement optimized kprobe on RISCV, it is consist >> of Makfile, Kconfig and some architecture specific files: kprobe.h and >> opt.c opt.c include some macro, type definition and functions required >> by kprobe framework, opt_trampoline.S provide a piece of assembly code >> template used to construct the detour buffer as the target of long jump >> instruction(s) for each optimzed kprobe. > > This is pretty much just reiterating what diff-stat says. Please try to > explain why a certain change is done, instead of what. What is already > in the patch.
Thanks for your suggestion, i will explain further in next revision.
> >> Since the jump range of PC-relative instruction JAL is +/-2M, that is >> too small to reach the detour buffer, hence the foudamental idea to >> address OPTPROBES on RISCV is replace 'EBREAK' with 'AUIPC/JALR'. which >> means it needs to clobber one more instruction beside the kprobe >> instruction, furthermore, RISCV supports hybird RVI and RVC in single >> kernel binary, so in theory a pair of 'AUIPC/JALR' is about to clobber >> 10 bytes(3 RVC and 1 RVI, 2 bytes is padding for alignment) at worst >> case. The second hardsome problem is looking for one integer register as >> the destination of 'AUIPC/JALR' without any side-effect. > > There are a number of spelling errors, please use a spellchecker and if > you reference a file (e.g. Makefile), make sure it is correctly spelled > out. > > The comments above applies to all the commit messages of this series.
Thanks for reviewing, i will correct these spelling errors.
> > > Björn
-- BR, Liao, Chang
| ![\](/images/icornerr.gif) |