On Mon, Jan 18, 2010 at 06:52:32PM +0200, Avi Kivity wrote: > On 01/18/2010 05:43 PM, Ananth N Mavinakayanahalli wrote: >>> >>>> Well, the alternatives are very unappealing. Emulation and single-stepping >>>> are going to be very slow compared to a couple of jumps. >>>> >>> So how big chunks of the address space are we talking here for uprobes? >>> >> As Srikar mentioned, the least we start with is 1 page. Though you can >> have as many probes as you want, there are certain optimizations we can >> do, depending on the most common usecases. >> >> For eg., if you'd consider the start of a routine to be the most >> commonly traced location, most routines in a binary would generally >> start with the same instruction (say push %ebp), and we can refcount a >> slot with that instruction to be used for all probes of the same >> instruction. >> > > But then you can't follow the instruction with a jump back to the code...
Right. This will work only for the non boosted case where single-stepping is mandatory. I guess the tradeoff is vma space and speed. Ananth