This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]kprobe booster for IA64


Masami Hiramatsu wrote:
Hi bibo,

bibo,mao wrote:
 > hiramatu san,
 > If the probed instruction can cause one fault, there may be some problem.
 > Because original instruction is copied into 2nd element of ainsn.insn,
 > instruction execution address is different, search_exception_tables result
 > will be different also.

Thank you for your good advice.
As far as I can see, the search_exception_tables() checks whether the
page-fault address is expected to cause an exception.
If it is correct, I think the problem can be avoided by disabling
booster if the table contains the target address.
For example;

        if (can_boost(template) && !search_exception_tables(p->addr)) {
                p->ainsn.inst_flag |= INST_FLAG_BOOSTABLE;
        }

What would you think about this idea?

Thanks

That's good for me. BTW in IA64 one bundle has three instructions, I think
that this bundle should be judged whether it is within exception table.

Thanks
bibo,mao


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]