On Mon, 2010-01-18 at 14:57 +0200, Pekka Enberg wrote: > On 01/18/2010 02:51 PM, Pekka Enberg wrote: > >> And how many probes do we expected to be live at the same time in > >> real-world scenarios? I guess Avi's "one million" is more than enough? > > Avi Kivity kirjoitti: > > I don't think a user will ever come close to a million, but we can > > expect some inflation from inlined functions (I don't know if uprobes > > replicates such probes, but if it doesn't, it should). > > Right. I guess we're looking at few megabytes of the address space for > normal scenarios which doesn't seem too excessive. > > However, as Peter pointed out, the bigger problem is that now we're > opening the door for other features to steal chunks of the address > space. And I think it's a legitimate worry that it's going to cause > problems for 32-bit in the future. > > I don't like the idea but if the performance benefits are real (are > they?),
Based on what seems to be the closest thing to an apples-to-apples comparison -- counting the number of calls to a specified function -- uprobes is 6-7 times faster than the ptrace-based equivalent, ltrace -c. And of course, uprobes provides much, much more flexibility, appears to scale better, and works with multithreaded apps. Likewise, FWIW, utrace is more than 10x faster than strace -c in counting system calls. > maybe it's a worthwhile trade-off. Dunno. > > Pekka Jim