From: Greg KH <gregkh@linuxfoundation.org>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>, David Miller <davem@davemloft.net>
Subject: Re: Incomplete cherry-pick on linux-3.3.y branch
Date: Mon, 23 Apr 2012 14:23:44 -0700 [thread overview]
Message-ID: <20120423212344.GB3378@kroah.com> (raw)
In-Reply-To: <CAMe9rOqy4g9QeOC7xWRmi3Wr=97qbUXm1G69pWgdcfykJQgMPQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1667 bytes --]
On Mon, Apr 23, 2012 at 12:08:13PM -0700, H.J. Lu wrote:
> Hi,
>
> This cherry-pick commit:
>
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=1cb41fe7e34a43a1d27dfdb6d65699786dd44c20
>
> doesn't work on 3.3 branch since it misses other commits
> required. On 3.3 branch, there are
>
> struct hist_entry *__hists__add_entry(struct hists *hists,
> struct addr_location *al,
> struct symbol *sym_parent, u64 period)
> {
> struct rb_node **p;
> struct rb_node *parent = NULL;
> struct hist_entry *he;
> struct hist_entry entry = {
> .thread = al->thread,
>
> It doesn't work with
>
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index e11e482..a47a6f1 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -230,6 +230,18 @@ struct hist_entry *__hists__add_entry(struct hists *hists,
> if (!cmp) {
> he->period += period;
> ++he->nr_events;
> +
> + /* If the map of an existing hist_entry has
> + * become out-of-date due to an exec() or
> + * similar, update it. Otherwise we will
> + * mis-adjust symbol addresses when computing
> + * the history counter to increment.
> + */
> + if (he->ms.map != entry->ms.map) {
> + he->ms.map = entry->ms.map;
> + if (he->ms.map)
> + he->ms.map->referenced = true;
> + }
> goto out;
> }
>
> since entry isn't a pointer on 3.3 branch.
Already fixed in the stable-queue tree, and will show up in the next
kernel release. If you need a fix now, use the one below.
thanks,
greg k-h
[-- Attachment #2: perf-fix-build-breakage.patch --]
[-- Type: text/x-patch, Size: 2067 bytes --]
>From zeev.tarantov@gmail.com Sun Apr 22 23:38:36 2012
From: Zeev Tarantov <zeev.tarantov@gmail.com>
Date: Mon, 23 Apr 2012 09:37:04 +0300
Subject: Perf: fix build breakage
To: "David S. Miller" <davem@davemloft.net>, Arnaldo Carvalho de Melo <acme@redhat.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Message-ID: <20120423063704.GA3465@myhost>
Content-Disposition: inline
From: Zeev Tarantov <zeev.tarantov@gmail.com>
[Patch not needed upstream as this is a backport build bugfix - gregkh
gcc correctly complains:
util/hist.c: In function ‘__hists__add_entry’:
util/hist.c:240:27: error: invalid type argument of ‘->’ (have ‘struct hist_entry’)
util/hist.c:241:23: error: invalid type argument of ‘->’ (have ‘struct hist_entry’)
for this new code:
+ if (he->ms.map != entry->ms.map) {
+ he->ms.map = entry->ms.map;
+ if (he->ms.map)
+ he->ms.map->referenced = true;
+ }
because "entry" is a "struct hist_entry", not a pointer to a struct.
In mainline, "entry" is a pointer to struct passed as argument to the function.
So this is broken during backporting. But obviously not compile tested.
Signed-off-by: Zeev Tarantov <zeev.tarantov@gmail.com>
Cc: Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
tools/perf/util/hist.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -237,8 +237,8 @@ struct hist_entry *__hists__add_entry(st
* mis-adjust symbol addresses when computing
* the history counter to increment.
*/
- if (he->ms.map != entry->ms.map) {
- he->ms.map = entry->ms.map;
+ if (he->ms.map != entry.ms.map) {
+ he->ms.map = entry.ms.map;
if (he->ms.map)
he->ms.map->referenced = true;
}
prev parent reply other threads:[~2012-04-23 21:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-23 19:08 H.J. Lu
2012-04-23 21:23 ` Greg KH [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120423212344.GB3378@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=davem@davemloft.net \
--cc=hjl.tools@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®