[PATCH] Emulate more instructions in software

Kumar Gala galak at kernel.crashing.org
Thu Apr 19 02:23:49 EST 2007


On Apr 18, 2007, at 2:13 AM, Ananth N Mavinakayanahalli wrote:

> On Wed, Apr 18, 2007 at 01:11:00AM -0500, Kumar Gala wrote:
>>
>> On Apr 18, 2007, at 12:56 AM, Ananth N Mavinakayanahalli wrote:
>>
>>> Emulate a few more instructions in software - especially useful  
>>> during
>>> singlestepping (xmon/kprobes).
>>>
>>> Instructions emulated with this patch are mfcr/mtcr rX, mfxer/mtxer
>>> rX,
>>> mflr/mtlr rX, mfctr/mtctr rX and mr rA,rB.
>>>
>>>
>>> Signed-off-by: Ananth N Mavinakayanahalli <ananth at in.ibm.com>
>>
>> When do we actually need to emulate any of these instructions?  I
>> don't see why single stepping would effect the ability to execute
>> these instructions.
>
> In cases when these instructions are kprobed, it'd be possible to
> eliminate the single step exception as we can emulate them.
>
> Most usecases of kprobes are at function entry and in most cases, the
> instruction at function entry is mflr r0, which can be emulated. So  
> you
> can get rid of one exception and get a nice speedup too. My other  
> patch
> did just this.

Makes sense, how about wrapping the emulation of those instructions  
in a #if defined(CONFIG_KPROBES) || defined(CONFIG_XMON).  Plus  
adding a comment about these instructions just be emulated for  
singlestepping performance and not because they are missing on some  
platform.

Also, do you really see that many mfxer/mtxer.  I'd expect them to be  
rare.

- k




More information about the Linuxppc-dev mailing list