Re: [PATCH V2 1/8] perf: Add PERF_SAMPLE_PHYS_ADDR

From: kbuild test robot
Date: Thu Jan 07 2016 - 16:10:01 EST


Hi Kan,

[auto build test WARNING on tip/perf/core]
[also build test WARNING on v4.4-rc8 next-20160107]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url: https://github.com/0day-ci/linux/commits/kan-liang-intel-com/perf-Add-PERF_SAMPLE_PHYS_ADDR/20160108-045715
config: i386-tinyconfig (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All warnings (new ones prefixed by >>):

arch/x86/kernel/cpu/perf_event_intel_ds.c: In function 'setup_pebs_sample_data':
>> arch/x86/kernel/cpu/perf_event_intel_ds.c:1087:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
data->phys_addr = (u64)virt_to_phys((void *)data->addr);
^

vim +1087 arch/x86/kernel/cpu/perf_event_intel_ds.c

1071 regs->ip = pebs->real_ip;
1072 regs->flags |= PERF_EFLAGS_EXACT;
1073 } else if (event->attr.precise_ip > 1 && intel_pmu_pebs_fixup_ip(regs))
1074 regs->flags |= PERF_EFLAGS_EXACT;
1075 else
1076 regs->flags &= ~PERF_EFLAGS_EXACT;
1077
1078 if ((sample_type & PERF_SAMPLE_ADDR) &&
1079 x86_pmu.intel_cap.pebs_format >= 1)
1080 data->addr = pebs->dla;
1081
1082 if ((sample_type & PERF_SAMPLE_PHYS_ADDR) && (data->addr != 0)) {
1083 if (data->addr >= TASK_SIZE) {
1084 /* If it's vmalloc()d memory, leave phys_addr as 0 */
1085 if (virt_addr_valid(data->addr) &&
1086 !(data->addr >= VMALLOC_START && data->addr < VMALLOC_END))
> 1087 data->phys_addr = (u64)virt_to_phys((void *)data->addr);
1088 } else {
1089 /*
1090 * Walking the pages tables for user address.
1091 * Interrupts are disabled, so it prevents any tear down
1092 * of the page tables.
1093 * Try IRQ-safe __get_user_pages_fast first.
1094 * If failed, leave phys_addr as 0.
1095 */

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data