[PATCH] Emulate more instructions in software

Kumar Gala galak at kernel.crashing.org
Thu Apr 19 02:25:55 EST 2007


On Apr 18, 2007, at 11:23 AM, Kumar Gala wrote:

>
> 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.

Ignore this, I see this code is in lib/sstep.c not the main emulation  
path.

> Also, do you really see that many mfxer/mtxer.  I'd expect them to be
> rare.
>
> - k
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev




More information about the Linuxppc-dev mailing list