All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Peter Zijlstra <peterz@infradead.org>,
	Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Leo Yan <leo.yan@linaro.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, mingo@redhat.com,
	acme@kernel.org, alexander.shishkin@linux.intel.com,
	jolsa@redhat.com, daniel.lezcano@linaro.org, tglx@linutronix.de,
	sboyd@codeaurora.org
Subject: Re: [PATCH 2/5] arm64: perf: Implement correct cap_user_time
Date: Wed, 13 May 2020 00:05:32 +0800	[thread overview]
Message-ID: <202005130004.KnC3LwAO%lkp@intel.com> (raw)
In-Reply-To: <20200512124450.824507755@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 3298 bytes --]

Hi Peter,

I love your patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on arm64/for-next/core arm-perf/for-next/perf linus/master v5.7-rc5 next-20200512]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Peter-Zijlstra/arm64-perf-Proper-cap_user_time-support/20200512-205141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 059c6d68cfc5f85ba3ab71d71a6de380016f7936
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

arch/arm64/kernel/perf_event.c: In function 'arch_perf_update_userpage':
>> arch/arm64/kernel/perf_event.c:1205:12: error: 'struct perf_event_mmap_page' has no member named 'shift'
1205 |  if (userpg->shift == 32) {
|            ^~
arch/arm64/kernel/perf_event.c:1206:9: error: 'struct perf_event_mmap_page' has no member named 'shift'
1206 |   userpg->shift = 31;
|         ^~

vim +1205 arch/arm64/kernel/perf_event.c

  1165	
  1166	void arch_perf_update_userpage(struct perf_event *event,
  1167				       struct perf_event_mmap_page *userpg, u64 now)
  1168	{
  1169		struct clock_read_data *rd;
  1170		unsigned int seq;
  1171	
  1172		/*
  1173		 * Internal timekeeping for enabled/running/stopped times
  1174		 * is always computed with the sched_clock.
  1175		 */
  1176		userpg->cap_user_time = 1;
  1177		userpg->cap_user_time_zero = 1;
  1178	
  1179		do {
  1180			rd = sched_clock_read_begin(&seq);
  1181	
  1182			userpg->time_mult = rd->mult;
  1183			userpg->time_shift = rd->shift;
  1184			userpg->time_zero = rd->epoch_ns;
  1185	
  1186			/*
  1187			 * This isn't strictly correct, the ARM64 counter can be
  1188			 * 'short' and then we get funnies when it wraps. The correct
  1189			 * thing would be to extend the perf ABI with a cycle and mask
  1190			 * value, but because wrapping on ARM64 is very rare in
  1191			 * practise this 'works'.
  1192			 */
  1193			userpg->time_zero -= (rd->epoch_cyc * rd->mult) >> rd->shift;
  1194	
  1195		} while (sched_clock_read_retry(seq));
  1196	
  1197		userpg->time_offset = userpg->time_zero - now;
  1198	
  1199		/*
  1200		 * time_shift is not expected to be greater than 31 due to
  1201		 * the original published conversion algorithm shifting a
  1202		 * 32-bit value (now specifies a 64-bit value) - refer
  1203		 * perf_event_mmap_page documentation in perf_event.h.
  1204		 */
> 1205		if (userpg->shift == 32) {
  1206			userpg->shift = 31;
  1207			userpg->time_mult >>= 1;
  1208		}
  1209	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 71774 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Peter Zijlstra <peterz@infradead.org>,
	Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Leo Yan <leo.yan@linaro.org>
Cc: kbuild-all@lists.01.org, alexander.shishkin@linux.intel.com,
	daniel.lezcano@linaro.org, sboyd@codeaurora.org,
	linux-kernel@vger.kernel.org, acme@kernel.org, mingo@redhat.com,
	tglx@linutronix.de, jolsa@redhat.com,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/5] arm64: perf: Implement correct cap_user_time
Date: Wed, 13 May 2020 00:05:32 +0800	[thread overview]
Message-ID: <202005130004.KnC3LwAO%lkp@intel.com> (raw)
In-Reply-To: <20200512124450.824507755@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 3298 bytes --]

Hi Peter,

I love your patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on arm64/for-next/core arm-perf/for-next/perf linus/master v5.7-rc5 next-20200512]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Peter-Zijlstra/arm64-perf-Proper-cap_user_time-support/20200512-205141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 059c6d68cfc5f85ba3ab71d71a6de380016f7936
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

arch/arm64/kernel/perf_event.c: In function 'arch_perf_update_userpage':
>> arch/arm64/kernel/perf_event.c:1205:12: error: 'struct perf_event_mmap_page' has no member named 'shift'
1205 |  if (userpg->shift == 32) {
|            ^~
arch/arm64/kernel/perf_event.c:1206:9: error: 'struct perf_event_mmap_page' has no member named 'shift'
1206 |   userpg->shift = 31;
|         ^~

vim +1205 arch/arm64/kernel/perf_event.c

  1165	
  1166	void arch_perf_update_userpage(struct perf_event *event,
  1167				       struct perf_event_mmap_page *userpg, u64 now)
  1168	{
  1169		struct clock_read_data *rd;
  1170		unsigned int seq;
  1171	
  1172		/*
  1173		 * Internal timekeeping for enabled/running/stopped times
  1174		 * is always computed with the sched_clock.
  1175		 */
  1176		userpg->cap_user_time = 1;
  1177		userpg->cap_user_time_zero = 1;
  1178	
  1179		do {
  1180			rd = sched_clock_read_begin(&seq);
  1181	
  1182			userpg->time_mult = rd->mult;
  1183			userpg->time_shift = rd->shift;
  1184			userpg->time_zero = rd->epoch_ns;
  1185	
  1186			/*
  1187			 * This isn't strictly correct, the ARM64 counter can be
  1188			 * 'short' and then we get funnies when it wraps. The correct
  1189			 * thing would be to extend the perf ABI with a cycle and mask
  1190			 * value, but because wrapping on ARM64 is very rare in
  1191			 * practise this 'works'.
  1192			 */
  1193			userpg->time_zero -= (rd->epoch_cyc * rd->mult) >> rd->shift;
  1194	
  1195		} while (sched_clock_read_retry(seq));
  1196	
  1197		userpg->time_offset = userpg->time_zero - now;
  1198	
  1199		/*
  1200		 * time_shift is not expected to be greater than 31 due to
  1201		 * the original published conversion algorithm shifting a
  1202		 * 32-bit value (now specifies a 64-bit value) - refer
  1203		 * perf_event_mmap_page documentation in perf_event.h.
  1204		 */
> 1205		if (userpg->shift == 32) {
  1206			userpg->shift = 31;
  1207			userpg->time_mult >>= 1;
  1208		}
  1209	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 71774 bytes --]

[-- Attachment #3: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 2/5] arm64: perf: Implement correct cap_user_time
Date: Wed, 13 May 2020 00:05:32 +0800	[thread overview]
Message-ID: <202005130004.KnC3LwAO%lkp@intel.com> (raw)
In-Reply-To: <20200512124450.824507755@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 3384 bytes --]

Hi Peter,

I love your patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on arm64/for-next/core arm-perf/for-next/perf linus/master v5.7-rc5 next-20200512]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Peter-Zijlstra/arm64-perf-Proper-cap_user_time-support/20200512-205141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 059c6d68cfc5f85ba3ab71d71a6de380016f7936
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

arch/arm64/kernel/perf_event.c: In function 'arch_perf_update_userpage':
>> arch/arm64/kernel/perf_event.c:1205:12: error: 'struct perf_event_mmap_page' has no member named 'shift'
1205 |  if (userpg->shift == 32) {
|            ^~
arch/arm64/kernel/perf_event.c:1206:9: error: 'struct perf_event_mmap_page' has no member named 'shift'
1206 |   userpg->shift = 31;
|         ^~

vim +1205 arch/arm64/kernel/perf_event.c

  1165	
  1166	void arch_perf_update_userpage(struct perf_event *event,
  1167				       struct perf_event_mmap_page *userpg, u64 now)
  1168	{
  1169		struct clock_read_data *rd;
  1170		unsigned int seq;
  1171	
  1172		/*
  1173		 * Internal timekeeping for enabled/running/stopped times
  1174		 * is always computed with the sched_clock.
  1175		 */
  1176		userpg->cap_user_time = 1;
  1177		userpg->cap_user_time_zero = 1;
  1178	
  1179		do {
  1180			rd = sched_clock_read_begin(&seq);
  1181	
  1182			userpg->time_mult = rd->mult;
  1183			userpg->time_shift = rd->shift;
  1184			userpg->time_zero = rd->epoch_ns;
  1185	
  1186			/*
  1187			 * This isn't strictly correct, the ARM64 counter can be
  1188			 * 'short' and then we get funnies when it wraps. The correct
  1189			 * thing would be to extend the perf ABI with a cycle and mask
  1190			 * value, but because wrapping on ARM64 is very rare in
  1191			 * practise this 'works'.
  1192			 */
  1193			userpg->time_zero -= (rd->epoch_cyc * rd->mult) >> rd->shift;
  1194	
  1195		} while (sched_clock_read_retry(seq));
  1196	
  1197		userpg->time_offset = userpg->time_zero - now;
  1198	
  1199		/*
  1200		 * time_shift is not expected to be greater than 31 due to
  1201		 * the original published conversion algorithm shifting a
  1202		 * 32-bit value (now specifies a 64-bit value) - refer
  1203		 * perf_event_mmap_page documentation in perf_event.h.
  1204		 */
> 1205		if (userpg->shift == 32) {
  1206			userpg->shift = 31;
  1207			userpg->time_mult >>= 1;
  1208		}
  1209	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 71774 bytes --]

  parent reply	other threads:[~2020-05-12 16:09 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-12 12:40 [PATCH 0/5] arm64: perf: Proper cap_user_time* support Peter Zijlstra
2020-05-12 12:40 ` Peter Zijlstra
2020-05-12 12:40 ` [PATCH 1/5] sched_clock: Expose struct clock_read_data Peter Zijlstra
2020-05-12 12:40   ` Peter Zijlstra
2020-05-12 12:41 ` [PATCH 2/5] arm64: perf: Implement correct cap_user_time Peter Zijlstra
2020-05-12 12:41   ` Peter Zijlstra
2020-05-12 14:03   ` Leo Yan
2020-05-12 14:03     ` Leo Yan
2020-05-12 14:08     ` Peter Zijlstra
2020-05-12 14:08       ` Peter Zijlstra
2020-05-12 16:05   ` kbuild test robot [this message]
2020-05-12 16:05     ` kbuild test robot
2020-05-12 16:05     ` kbuild test robot
2020-05-12 12:41 ` [PATCH 3/5] arm64: perf: Only advertise cap_user_time for arch_timer Peter Zijlstra
2020-05-12 12:41   ` Peter Zijlstra
2020-05-12 12:41 ` [PATCH 4/5] perf: Add perf_event_mmap_page::cap_user_time_short ABI Peter Zijlstra
2020-05-12 12:41   ` Peter Zijlstra
2020-05-12 12:41 ` [PATCH 5/5] arm64: perf: Add cap_user_time_short Peter Zijlstra
2020-05-12 12:41   ` Peter Zijlstra
2020-05-12 14:11   ` Leo Yan
2020-05-12 14:11     ` Leo Yan
2020-05-12 16:59   ` kbuild test robot
2020-05-12 16:59     ` kbuild test robot
2020-05-12 16:59     ` kbuild test robot
2020-07-13  6:08 ` [PATCH 0/5] arm64: perf: Proper cap_user_time* support Leo Yan
2020-07-13  6:08   ` Leo Yan
2020-07-13 10:11   ` Will Deacon
2020-07-13 10:11     ` Will Deacon
2020-07-13 12:58     ` Leo Yan
2020-07-13 12:58       ` Leo Yan

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=202005130004.KnC3LwAO%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=jolsa@redhat.com \
    --cc=kbuild-all@lists.01.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sboyd@codeaurora.org \
    --cc=tglx@linutronix.de \
    --cc=will@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.