Re: [PATCH] 2-ptrace_multi

From: Renzo Davoli
Date: Sun May 21 2006 - 11:28:40 EST


On Sat, May 20, 2006 at 05:39:59PM -0400, Jeff Dike wrote:
> Wouldn't the obvious fix be to implement [GS]ETREGS for arches that don't
> have them?
It is not enough. I am fixing the [GS]ETREGS for ppc32 but it happens
that the error number is stored in the register PT_CCR (a.k.a. R38)
so I need an extra call to get that, then I need the program counter which is
in PT_NIP (R31). [GS]ETREGS for ppc load/store just the range R0-R31.
so I need 3 syscalls for each syscall issued by the ptraced process
instead of just one.
Each architecture has its own idiosyncrasies so when somebody is trying to
write and efficient and *portable* support for virtual machines it happens
to have a piece of memory here, a register there etc that are needed
to support something.
I felt that giving a clear and effective way to do more ptrace requests
at once was the general solution.
Readv, writev were created to solve the performance problem to deal with calls
involving several buffers. All the programs based on readv/writev
can be implemented in a less efficient way through standard read/write.
This proposal had the same humble goal applied to ptrace instead of
read/write.

renzo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/