Skip to content
This repository was archived by the owner on Dec 14, 2022. It is now read-only.

Commit

Permalink
perf kmem: Fix compiles on RHEL6/OL6
Browse files Browse the repository at this point in the history
0d68bc9 breaks compiles on RHEL6/OL6:
    cc1: warnings being treated as errors
    builtin-kmem.c: In function ‘search_page_alloc_stat’:
    builtin-kmem.c:322: error: declaration of ‘stat’ shadows a global declaration
                            node = &parent->rb_left;
    /usr/include/sys/stat.h:455: error: shadowed declaration is here
    builtin-kmem.c: In function ‘perf_evsel__process_page_alloc_event’:
    builtin-kmem.c:378: error: declaration of ‘stat’ shadows a global declaration
    /usr/include/sys/stat.h:455: error: shadowed declaration is here
    builtin-kmem.c: In function ‘perf_evsel__process_page_free_event’:
    builtin-kmem.c:431: error: declaration of ‘stat’ shadows a global declaration
    /usr/include/sys/stat.h:455: error: shadowed declaration is here

Rename local variable to pstat to avoid the name conflict.

Signed-off-by: David Ahern <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
  • Loading branch information
David Ahern authored and acmel committed Apr 24, 2015
1 parent de28c15 commit 4ad1f43
Showing 1 changed file with 27 additions and 27 deletions.
54 changes: 27 additions & 27 deletions tools/perf/builtin-kmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ static int page_stat_cmp(struct page_stat *a, struct page_stat *b)
return 0;
}

static struct page_stat *search_page_alloc_stat(struct page_stat *stat, bool create)
static struct page_stat *search_page_alloc_stat(struct page_stat *pstat, bool create)
{
struct rb_node **node = &page_alloc_tree.rb_node;
struct rb_node *parent = NULL;
Expand All @@ -331,7 +331,7 @@ static struct page_stat *search_page_alloc_stat(struct page_stat *stat, bool cre
parent = *node;
data = rb_entry(*node, struct page_stat, node);

cmp = page_stat_cmp(data, stat);
cmp = page_stat_cmp(data, pstat);
if (cmp < 0)
node = &parent->rb_left;
else if (cmp > 0)
Expand All @@ -345,10 +345,10 @@ static struct page_stat *search_page_alloc_stat(struct page_stat *stat, bool cre

data = zalloc(sizeof(*data));
if (data != NULL) {
data->page = stat->page;
data->order = stat->order;
data->gfp_flags = stat->gfp_flags;
data->migrate_type = stat->migrate_type;
data->page = pstat->page;
data->order = pstat->order;
data->gfp_flags = pstat->gfp_flags;
data->migrate_type = pstat->migrate_type;

rb_link_node(&data->node, parent, node);
rb_insert_color(&data->node, &page_alloc_tree);
Expand All @@ -375,7 +375,7 @@ static int perf_evsel__process_page_alloc_event(struct perf_evsel *evsel,
unsigned int migrate_type = perf_evsel__intval(evsel, sample,
"migratetype");
u64 bytes = kmem_page_size << order;
struct page_stat *stat;
struct page_stat *pstat;
struct page_stat this = {
.order = order,
.gfp_flags = gfp_flags,
Expand All @@ -401,21 +401,21 @@ static int perf_evsel__process_page_alloc_event(struct perf_evsel *evsel,
* This is to find the current page (with correct gfp flags and
* migrate type) at free event.
*/
stat = search_page(page, true);
if (stat == NULL)
pstat = search_page(page, true);
if (pstat == NULL)
return -ENOMEM;

stat->order = order;
stat->gfp_flags = gfp_flags;
stat->migrate_type = migrate_type;
pstat->order = order;
pstat->gfp_flags = gfp_flags;
pstat->migrate_type = migrate_type;

this.page = page;
stat = search_page_alloc_stat(&this, true);
if (stat == NULL)
pstat = search_page_alloc_stat(&this, true);
if (pstat == NULL)
return -ENOMEM;

stat->nr_alloc++;
stat->alloc_bytes += bytes;
pstat->nr_alloc++;
pstat->alloc_bytes += bytes;

order_stats[order][migrate_type]++;

Expand All @@ -428,7 +428,7 @@ static int perf_evsel__process_page_free_event(struct perf_evsel *evsel,
u64 page;
unsigned int order = perf_evsel__intval(evsel, sample, "order");
u64 bytes = kmem_page_size << order;
struct page_stat *stat;
struct page_stat *pstat;
struct page_stat this = {
.order = order,
};
Expand All @@ -441,8 +441,8 @@ static int perf_evsel__process_page_free_event(struct perf_evsel *evsel,
nr_page_frees++;
total_page_free_bytes += bytes;

stat = search_page(page, false);
if (stat == NULL) {
pstat = search_page(page, false);
if (pstat == NULL) {
pr_debug2("missing free at page %"PRIx64" (order: %d)\n",
page, order);

Expand All @@ -453,18 +453,18 @@ static int perf_evsel__process_page_free_event(struct perf_evsel *evsel,
}

this.page = page;
this.gfp_flags = stat->gfp_flags;
this.migrate_type = stat->migrate_type;
this.gfp_flags = pstat->gfp_flags;
this.migrate_type = pstat->migrate_type;

rb_erase(&stat->node, &page_tree);
free(stat);
rb_erase(&pstat->node, &page_tree);
free(pstat);

stat = search_page_alloc_stat(&this, false);
if (stat == NULL)
pstat = search_page_alloc_stat(&this, false);
if (pstat == NULL)
return -ENOENT;

stat->nr_free++;
stat->free_bytes += bytes;
pstat->nr_free++;
pstat->free_bytes += bytes;

return 0;
}
Expand Down

0 comments on commit 4ad1f43

Please sign in to comment.