|
From: Seiji A. <sei...@hd...> - 2012-10-11 17:04:52
|
> > > > I didn't say anything magic, but a table of pointers that are very > > critical for the system running. Should we implement it with a single > > switch, like we discussed in San Diego to do with the system call table? > > > > That is, have a "normal" table, and a "trace" table. The trace table > > points to functions that have tracepoints. The first enabler of > > tracing switches the table to use the tracepoints, and the last > > disabler switches it back? > > > > That is certainly a reasonable implementation option. It is slightly less usable than it is for system calls, though, because the vectors in > the IDTs are somewhat scrambled and so you can't just do an indirect jump to the original vector content. This does get messy > because you also want to preserve registers... > Peter, Steven, Thank you for explaining the reason why you think a time penalty should be zero and discussing its implementation. I will update my patch so that a time penalty makes zero and submit it shortly. Seiji |