提交 6b1a2752 编写于 作者: D David Ahern 提交者: Arnaldo Carvalho de Melo

perf kmem: Fix compiles on RHEL6/OL6

0d68bc92 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: NDavid Ahern <david.ahern@oracle.com>
Link: http://lkml.kernel.org/r/1429033773-31383-1-git-send-email-david.ahern@oracle.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 5b24e8cf
......@@ -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;
......@@ -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)
......@@ -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);
......@@ -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,
......@@ -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]++;
......@@ -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,
};
......@@ -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);
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册