Messages in this thread | | | Date | Fri, 19 May 2006 09:09:52 -0400 | From | Daniel Jacobowitz <> | Subject | Re: [PATCH] 2-ptrace_multi |
| |
On Fri, May 19, 2006 at 11:07:26AM +0200, Renzo Davoli wrote: > On Thu, May 18, 2006 at 07:23:13PM -0700, Ulrich Drepper wrote: > > On 5/18/06, Renzo Davoli <renzo@cs.unibo.it> wrote: > > >e.g. To virtualize a write you'd have to call PTRACE_PEEKDATA for each > > >word of the buffer, very many hundreds cycles lost. > > > > No, this is not how programs should do it. Just open /proc/PID/mem > > and use pread() with an offset corresponding to the address. Now, > > repeat your timings using this technique. > > That would be faster to access the memory but: > - the manager has to keep one open file per controlled process
No, it doesn't. It can open it as needed. It can even maintain a cache of open mem files.
GDB's been opening it as needed for years. It works very well and is drastically faster than PTRACE_PEEKDATA.
-- Daniel Jacobowitz CodeSourcery - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |