linux-mips
[Top] [All Lists]

Re: Oprofile callgraph support on the MIPS architecture

To: Gergely Kis <gergely@homejinni.com>
Subject: Re: Oprofile callgraph support on the MIPS architecture
From: David Daney <david.s.daney@gmail.com>
Date: Sat, 26 Mar 2011 23:04:19 -0700
Cc: linux-mips@linux-mips.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=mdr8Dd4AftXsBiJ+4FWkaN+DQHLQf/U3l0QqOC06FFc=; b=vweRZay9eo3Ny7ZU6wYjzS/l28Gw+y1uU00hy/bn/I6azxr2wX0LYxMtBYcK7cxm+e /DkxBHyXI7I9ljWiHpOk8L091jf/Ar6If7dJtxxRqK/xIcvB1HqeQ6FhwO6zpIjBRg8v RsYtG75ruGCyfka6+TDsNmRUiNwuby4B8cVOo=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=PKXvtv+pjPYjliJHn5wOkPloTR8fla3wCdwWwa1ulG+2I1tZ7IkTGSBuJGmBVVcQsc UcciYL8YbzCql9PtVNf4ORW1Q+Y8fMnZWf5XWbuItJGuh1XaAP2/5BtHLZpvEz3HrrWG 9ZR/PHkMoYOVCHNb4TkLGKV7ptOQPhMVIlzo8=
In-reply-to: <AANLkTinDFQFLiHZoKw2kPpVov80xc08FFxLjYsORKyKd@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <AANLkTinDFQFLiHZoKw2kPpVov80xc08FFxLjYsORKyKd@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.38.b3pre.fc13 Thunderbird/3.1.9
On 03/26/2011 07:02 PM, Gergely Kis wrote:
Dear List Members,

We would like to announce the initial version of oprofile callgraph
support on the MIPS architecture.

[...]

You may download the code and access the documentation on the following URL:
http://oss.homejinni.com/redmine/projects/mips-oprofile


Instructions for submitting patches may be found here:

http://git.linux-mips.org/?p=linux.git;a=tree;f=Documentation/development-process;hb=f70c04ff7ad61bca1ed06390558568c6c8074139

That said, how do you handle the case of getting a fault while reading code/data while unwinding?

Also I don't see how you handle these cases:

o Leaf functions where neither the $ra is saved to the stack, nor the stack pointer adjusted.

o Functions where $sp is adjusted several times (use of alloca() or VLAs).

o Functions with multiple return points (i.e. 'jr $ra' in the middle of a function).

o Functions with more than 1024 instructions.


Thanks,
David Daney

<Prev in Thread] Current Thread [Next in Thread>