[PATCH] Linux Kernel Markers
Martin Bligh
mbligh@google.com
Tue Sep 19 18:03:00 GMT 2006
>>Ah, good point. Though ... how much do we care what the speed of
>>insertion/removal actually is? If we can tolerate it being slow,
>>then just sync everyone up in an IPI to freeze them out whilst
>>doing the insert.
>>
>
> I guess using IPI occasionally would be acceptable. But I think
> using IPI for each probes will lots of overhead.
Depends how often you're inserting/removing probes, I guess.
Aren't these being done manually, in which case it really can't
be that many? Still doesn't fix the problem Matieu just pointed
out though. Humpf.
>>How about we combine all three ideas together ...
>>
>>1. Load modified copy of the function in question.
>>2. overwrite the first instruction of the routine with an int3 that
>>does what you say (atomically)
>>3. Then overwrite the second instruction with a jump that's faster
>>4. Now atomically overwrite the int3 with a nop, and let the jump
>>take over.
>
> That's a good solution.
It's not exactly elegant or simple, but I guess it'd work if we have
to go to that extent. Seems like a lot of complexity though, I'd
rather get rid of the int3 trap if we can.
M.
More information about the Systemtap
mailing list