Re: [PATCH v2 1/2] scsi: ufs: Introduce hba performance monitor sysfs nodes
by kernel test robot
Hi Can,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on scsi/for-next]
[also build test ERROR on mkp-scsi/for-next linus/master v5.12-rc5 next-20210330]
[cannot apply to target/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Can-Guo/Introduce-hba-performanc...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: i386-randconfig-s002-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-279-g6d5d9b42-dirty
# https://github.com/0day-ci/linux/commit/b93786009e6f1d28ee1f01e6bc7e5093d...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Can-Guo/Introduce-hba-performance-monitoring-sysfs-nodes/20210331-111757
git checkout b93786009e6f1d28ee1f01e6bc7e5093d20deed3
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
ld: drivers/scsi/ufs/ufs-sysfs.o: in function `write_req_latency_avg_show':
>> drivers/scsi/ufs/ufs-sysfs.c:441: undefined reference to `__divdi3'
ld: drivers/scsi/ufs/ufs-sysfs.o: in function `read_req_latency_avg_show':
drivers/scsi/ufs/ufs-sysfs.c:374: undefined reference to `__divdi3'
vim +441 drivers/scsi/ufs/ufs-sysfs.c
433
434 static ssize_t write_req_latency_avg_show(struct device *dev,
435 struct device_attribute *attr,
436 char *buf)
437 {
438 struct ufs_hba *hba = dev_get_drvdata(dev);
439 struct ufs_hba_monitor *m = &hba->monitor;
440
> 441 return sysfs_emit(buf, "%llu\n",
442 ktime_to_us(m->lat_sum[WRITE]) / m->nr_req[WRITE]);
443 }
444
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH net-next v3 8/8] virtio-net: free old xmit handle xsk
by kernel test robot
Hi Xuan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Xuan-Zhuo/virtio-net-support-xdp...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 28110056f2d07a576ca045a38f80de051b13582a
config: i386-randconfig-r023-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/2f0c0d42a79523eef5e0ab4407ff99d94...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xuan-Zhuo/virtio-net-support-xdp-socket-zero-copy-xmit/20210331-151437
git checkout 2f0c0d42a79523eef5e0ab4407ff99d94607603e
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/virtio_net.c: In function 'xsk_to_ptr':
>> drivers/net/virtio_net.c:297:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
297 | return (void *)(p | VIRTIO_XSK_FLAG);
| ^
drivers/net/virtio_net.c: In function 'ptr_to_xsk':
>> drivers/net/virtio_net.c:302:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
302 | desc->len = ((u64)ptr) >> VIRTIO_XSK_PTR_SHIFT;
| ^
vim +297 drivers/net/virtio_net.c
291
292 static void *xsk_to_ptr(struct xdp_desc *desc)
293 {
294 /* save the desc len to ptr */
295 u64 p = desc->len << VIRTIO_XSK_PTR_SHIFT;
296
> 297 return (void *)(p | VIRTIO_XSK_FLAG);
298 }
299
300 static void ptr_to_xsk(void *ptr, struct xdp_desc *desc)
301 {
> 302 desc->len = ((u64)ptr) >> VIRTIO_XSK_PTR_SHIFT;
303 }
304
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
drivers/usb/host/max3421-hcd.c:792:1: warning: the frame size of 8220 bytes is larger than 1024 bytes
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e46d1b78a03d52306f21f77a4e4a144b6d31486
commit: 044d0d6de9f50192f9697583504a382347ee95ca lockdep: Only trace IRQ edges
date: 7 months ago
config: csky-randconfig-r012-20210331 (attached as .config)
compiler: csky-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 044d0d6de9f50192f9697583504a382347ee95ca
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=csky
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/usb/host/max3421-hcd.c: In function 'max3421_select_and_start_urb':
>> drivers/usb/host/max3421-hcd.c:792:1: warning: the frame size of 8220 bytes is larger than 1024 bytes [-Wframe-larger-than=]
792 | }
| ^
vim +792 drivers/usb/host/max3421-hcd.c
2d53139f31626b David Mosberger 2014-04-28 648
2d53139f31626b David Mosberger 2014-04-28 649 /*
2d53139f31626b David Mosberger 2014-04-28 650 * Find the next URB to process and start its execution.
2d53139f31626b David Mosberger 2014-04-28 651 *
2d53139f31626b David Mosberger 2014-04-28 652 * At this time, we do not anticipate ever connecting a USB hub to the
2d53139f31626b David Mosberger 2014-04-28 653 * MAX3421 chip, so at most USB device can be connected and we can use
2d53139f31626b David Mosberger 2014-04-28 654 * a simplistic scheduler: at the start of a frame, schedule all
2d53139f31626b David Mosberger 2014-04-28 655 * periodic transfers. Once that is done, use the remainder of the
2d53139f31626b David Mosberger 2014-04-28 656 * frame to process non-periodic (bulk & control) transfers.
2d53139f31626b David Mosberger 2014-04-28 657 *
2d53139f31626b David Mosberger 2014-04-28 658 * Preconditions:
2d53139f31626b David Mosberger 2014-04-28 659 * o Caller must NOT hold HCD spinlock.
2d53139f31626b David Mosberger 2014-04-28 660 * o max3421_hcd->curr_urb MUST BE NULL.
2d53139f31626b David Mosberger 2014-04-28 661 * o MAX3421E chip must be idle.
2d53139f31626b David Mosberger 2014-04-28 662 */
2d53139f31626b David Mosberger 2014-04-28 663 static int
2d53139f31626b David Mosberger 2014-04-28 664 max3421_select_and_start_urb(struct usb_hcd *hcd)
2d53139f31626b David Mosberger 2014-04-28 665 {
2d53139f31626b David Mosberger 2014-04-28 666 struct spi_device *spi = to_spi_device(hcd->self.controller);
2d53139f31626b David Mosberger 2014-04-28 667 struct max3421_hcd *max3421_hcd = hcd_to_max3421(hcd);
2d53139f31626b David Mosberger 2014-04-28 668 struct urb *urb, *curr_urb = NULL;
2d53139f31626b David Mosberger 2014-04-28 669 struct max3421_ep *max3421_ep;
2d53139f31626b David Mosberger 2014-04-28 670 int epnum, force_toggles = 0;
2d53139f31626b David Mosberger 2014-04-28 671 struct usb_host_endpoint *ep;
2d53139f31626b David Mosberger 2014-04-28 672 struct list_head *pos;
2d53139f31626b David Mosberger 2014-04-28 673 unsigned long flags;
2d53139f31626b David Mosberger 2014-04-28 674
2d53139f31626b David Mosberger 2014-04-28 675 spin_lock_irqsave(&max3421_hcd->lock, flags);
2d53139f31626b David Mosberger 2014-04-28 676
2d53139f31626b David Mosberger 2014-04-28 677 for (;
2d53139f31626b David Mosberger 2014-04-28 678 max3421_hcd->sched_pass < SCHED_PASS_DONE;
2d53139f31626b David Mosberger 2014-04-28 679 ++max3421_hcd->sched_pass)
2d53139f31626b David Mosberger 2014-04-28 680 list_for_each(pos, &max3421_hcd->ep_list) {
2d53139f31626b David Mosberger 2014-04-28 681 urb = NULL;
2d53139f31626b David Mosberger 2014-04-28 682 max3421_ep = container_of(pos, struct max3421_ep,
2d53139f31626b David Mosberger 2014-04-28 683 ep_list);
2d53139f31626b David Mosberger 2014-04-28 684 ep = max3421_ep->ep;
2d53139f31626b David Mosberger 2014-04-28 685
2d53139f31626b David Mosberger 2014-04-28 686 switch (usb_endpoint_type(&ep->desc)) {
2d53139f31626b David Mosberger 2014-04-28 687 case USB_ENDPOINT_XFER_ISOC:
2d53139f31626b David Mosberger 2014-04-28 688 case USB_ENDPOINT_XFER_INT:
2d53139f31626b David Mosberger 2014-04-28 689 if (max3421_hcd->sched_pass !=
2d53139f31626b David Mosberger 2014-04-28 690 SCHED_PASS_PERIODIC)
2d53139f31626b David Mosberger 2014-04-28 691 continue;
2d53139f31626b David Mosberger 2014-04-28 692 break;
2d53139f31626b David Mosberger 2014-04-28 693
2d53139f31626b David Mosberger 2014-04-28 694 case USB_ENDPOINT_XFER_CONTROL:
2d53139f31626b David Mosberger 2014-04-28 695 case USB_ENDPOINT_XFER_BULK:
2d53139f31626b David Mosberger 2014-04-28 696 if (max3421_hcd->sched_pass !=
2d53139f31626b David Mosberger 2014-04-28 697 SCHED_PASS_NON_PERIODIC)
2d53139f31626b David Mosberger 2014-04-28 698 continue;
2d53139f31626b David Mosberger 2014-04-28 699 break;
2d53139f31626b David Mosberger 2014-04-28 700 }
2d53139f31626b David Mosberger 2014-04-28 701
2d53139f31626b David Mosberger 2014-04-28 702 if (list_empty(&ep->urb_list))
2d53139f31626b David Mosberger 2014-04-28 703 continue; /* nothing to do */
2d53139f31626b David Mosberger 2014-04-28 704 urb = list_first_entry(&ep->urb_list, struct urb,
2d53139f31626b David Mosberger 2014-04-28 705 urb_list);
2d53139f31626b David Mosberger 2014-04-28 706 if (urb->unlinked) {
2d53139f31626b David Mosberger 2014-04-28 707 dev_dbg(&spi->dev, "%s: URB %p unlinked=%d",
2d53139f31626b David Mosberger 2014-04-28 708 __func__, urb, urb->unlinked);
2d53139f31626b David Mosberger 2014-04-28 709 max3421_hcd->curr_urb = urb;
2d53139f31626b David Mosberger 2014-04-28 710 max3421_hcd->urb_done = 1;
2d53139f31626b David Mosberger 2014-04-28 711 spin_unlock_irqrestore(&max3421_hcd->lock,
2d53139f31626b David Mosberger 2014-04-28 712 flags);
2d53139f31626b David Mosberger 2014-04-28 713 return 1;
2d53139f31626b David Mosberger 2014-04-28 714 }
2d53139f31626b David Mosberger 2014-04-28 715
2d53139f31626b David Mosberger 2014-04-28 716 switch (usb_endpoint_type(&ep->desc)) {
2d53139f31626b David Mosberger 2014-04-28 717 case USB_ENDPOINT_XFER_CONTROL:
2d53139f31626b David Mosberger 2014-04-28 718 /*
2d53139f31626b David Mosberger 2014-04-28 719 * Allow one control transaction per
2d53139f31626b David Mosberger 2014-04-28 720 * frame per endpoint:
2d53139f31626b David Mosberger 2014-04-28 721 */
2d53139f31626b David Mosberger 2014-04-28 722 if (frame_diff(max3421_ep->last_active,
2d53139f31626b David Mosberger 2014-04-28 723 max3421_hcd->frame_number) == 0)
2d53139f31626b David Mosberger 2014-04-28 724 continue;
2d53139f31626b David Mosberger 2014-04-28 725 break;
2d53139f31626b David Mosberger 2014-04-28 726
2d53139f31626b David Mosberger 2014-04-28 727 case USB_ENDPOINT_XFER_BULK:
2d53139f31626b David Mosberger 2014-04-28 728 if (max3421_ep->retransmit
2d53139f31626b David Mosberger 2014-04-28 729 && (frame_diff(max3421_ep->last_active,
2d53139f31626b David Mosberger 2014-04-28 730 max3421_hcd->frame_number)
2d53139f31626b David Mosberger 2014-04-28 731 == 0))
2d53139f31626b David Mosberger 2014-04-28 732 /*
2d53139f31626b David Mosberger 2014-04-28 733 * We already tried this EP
2d53139f31626b David Mosberger 2014-04-28 734 * during this frame and got a
2d53139f31626b David Mosberger 2014-04-28 735 * NAK or error; wait for next frame
2d53139f31626b David Mosberger 2014-04-28 736 */
2d53139f31626b David Mosberger 2014-04-28 737 continue;
2d53139f31626b David Mosberger 2014-04-28 738 break;
2d53139f31626b David Mosberger 2014-04-28 739
2d53139f31626b David Mosberger 2014-04-28 740 case USB_ENDPOINT_XFER_ISOC:
2d53139f31626b David Mosberger 2014-04-28 741 case USB_ENDPOINT_XFER_INT:
2d53139f31626b David Mosberger 2014-04-28 742 if (frame_diff(max3421_hcd->frame_number,
2d53139f31626b David Mosberger 2014-04-28 743 max3421_ep->last_active)
2d53139f31626b David Mosberger 2014-04-28 744 < urb->interval)
2d53139f31626b David Mosberger 2014-04-28 745 /*
2d53139f31626b David Mosberger 2014-04-28 746 * We already processed this
2d53139f31626b David Mosberger 2014-04-28 747 * end-point in the current
2d53139f31626b David Mosberger 2014-04-28 748 * frame
2d53139f31626b David Mosberger 2014-04-28 749 */
2d53139f31626b David Mosberger 2014-04-28 750 continue;
2d53139f31626b David Mosberger 2014-04-28 751 break;
2d53139f31626b David Mosberger 2014-04-28 752 }
2d53139f31626b David Mosberger 2014-04-28 753
2d53139f31626b David Mosberger 2014-04-28 754 /* move current ep to tail: */
2d53139f31626b David Mosberger 2014-04-28 755 list_move_tail(pos, &max3421_hcd->ep_list);
2d53139f31626b David Mosberger 2014-04-28 756 curr_urb = urb;
2d53139f31626b David Mosberger 2014-04-28 757 goto done;
2d53139f31626b David Mosberger 2014-04-28 758 }
2d53139f31626b David Mosberger 2014-04-28 759 done:
2d53139f31626b David Mosberger 2014-04-28 760 if (!curr_urb) {
2d53139f31626b David Mosberger 2014-04-28 761 spin_unlock_irqrestore(&max3421_hcd->lock, flags);
2d53139f31626b David Mosberger 2014-04-28 762 return 0;
2d53139f31626b David Mosberger 2014-04-28 763 }
2d53139f31626b David Mosberger 2014-04-28 764
2d53139f31626b David Mosberger 2014-04-28 765 urb = max3421_hcd->curr_urb = curr_urb;
2d53139f31626b David Mosberger 2014-04-28 766 epnum = usb_endpoint_num(&urb->ep->desc);
2d53139f31626b David Mosberger 2014-04-28 767 if (max3421_ep->retransmit)
2d53139f31626b David Mosberger 2014-04-28 768 /* restart (part of) a USB transaction: */
2d53139f31626b David Mosberger 2014-04-28 769 max3421_ep->retransmit = 0;
2d53139f31626b David Mosberger 2014-04-28 770 else {
2d53139f31626b David Mosberger 2014-04-28 771 /* start USB transaction: */
2d53139f31626b David Mosberger 2014-04-28 772 if (usb_endpoint_xfer_control(&ep->desc)) {
2d53139f31626b David Mosberger 2014-04-28 773 /*
2d53139f31626b David Mosberger 2014-04-28 774 * See USB 2.0 spec section 8.6.1
2d53139f31626b David Mosberger 2014-04-28 775 * Initialization via SETUP Token:
2d53139f31626b David Mosberger 2014-04-28 776 */
2d53139f31626b David Mosberger 2014-04-28 777 usb_settoggle(urb->dev, epnum, 0, 1);
2d53139f31626b David Mosberger 2014-04-28 778 usb_settoggle(urb->dev, epnum, 1, 1);
2d53139f31626b David Mosberger 2014-04-28 779 max3421_ep->pkt_state = PKT_STATE_SETUP;
2d53139f31626b David Mosberger 2014-04-28 780 force_toggles = 1;
2d53139f31626b David Mosberger 2014-04-28 781 } else
2d53139f31626b David Mosberger 2014-04-28 782 max3421_ep->pkt_state = PKT_STATE_TRANSFER;
2d53139f31626b David Mosberger 2014-04-28 783 }
2d53139f31626b David Mosberger 2014-04-28 784
2d53139f31626b David Mosberger 2014-04-28 785 spin_unlock_irqrestore(&max3421_hcd->lock, flags);
2d53139f31626b David Mosberger 2014-04-28 786
2d53139f31626b David Mosberger 2014-04-28 787 max3421_ep->last_active = max3421_hcd->frame_number;
2d53139f31626b David Mosberger 2014-04-28 788 max3421_set_address(hcd, urb->dev, epnum, force_toggles);
2d53139f31626b David Mosberger 2014-04-28 789 max3421_set_speed(hcd, urb->dev);
2d53139f31626b David Mosberger 2014-04-28 790 max3421_next_transfer(hcd, 0);
2d53139f31626b David Mosberger 2014-04-28 791 return 1;
2d53139f31626b David Mosberger 2014-04-28 @792 }
2d53139f31626b David Mosberger 2014-04-28 793
:::::: The code at line 792 was first introduced by commit
:::::: 2d53139f31626bad6f8983d8e519ddde2cbba921 Add support for using a MAX3421E chip as a host driver.
:::::: TO: David Mosberger <davidm(a)egauge.net>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
/usr/bin/ld: core.c:undefined reference to `cmpxchg8b_emu'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e46d1b78a03d52306f21f77a4e4a144b6d31486
commit: 5ca419f2864a2c60940dcf4bbaeb69546200e36f bpf: Add BPF_FETCH field / create atomic_fetch_add instruction
date: 3 months ago
config: um-randconfig-r023-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 5ca419f2864a2c60940dcf4bbaeb69546200e36f
# save the attached .config to linux build tree
make W=1 ARCH=um
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
/usr/bin/ld: atomic64_test.c:(.init.text+0x562b): undefined reference to `atomic64_xchg_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x567a): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x56cd): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x56f0): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5742): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5799): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x57bc): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x580b): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x585e): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5881): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x58d0): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x591e): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5945): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5994): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x59e7): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5a0a): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5a59): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5aac): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5acf): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5b21): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5b74): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5b9d): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5bec): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5c3f): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5c63): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5cb2): undefined reference to `atomic64_read_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5d02): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5d10): undefined reference to `atomic64_add_unless_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5d8f): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5da5): undefined reference to `atomic64_add_unless_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5e24): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5e29): undefined reference to `atomic64_dec_if_positive_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5ead): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5eb2): undefined reference to `atomic64_dec_if_positive_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5f30): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5f35): undefined reference to `atomic64_dec_if_positive_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5fb2): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x5fb7): undefined reference to `atomic64_inc_not_zero_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x6030): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x6035): undefined reference to `atomic64_inc_not_zero_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x60a5): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x60aa): undefined reference to `atomic64_inc_not_zero_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x611a): undefined reference to `atomic64_set_386'
/usr/bin/ld: atomic64_test.c:(.init.text+0x611f): undefined reference to `atomic64_inc_not_zero_386'
/usr/bin/ld: net/core/net_namespace.o: in function `__net_gen_cookie':
net_namespace.c:(.text+0x122d): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: net_namespace.c:(.text+0x1234): undefined reference to `atomic64_read_386'
/usr/bin/ld: net_namespace.c:(.text+0x126b): undefined reference to `atomic64_dec_return_386'
/usr/bin/ld: net/core/sock_diag.o: in function `__sock_gen_cookie':
sock_diag.c:(.text+0x56d): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: sock_diag.c:(.text+0x574): undefined reference to `atomic64_read_386'
/usr/bin/ld: sock_diag.c:(.text+0x5ab): undefined reference to `atomic64_dec_return_386'
/usr/bin/ld: net/core/sock_diag.o: in function `sock_diag_check_cookie':
sock_diag.c:(.text+0x64c): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: sock_diag.c:(.text+0x653): undefined reference to `atomic64_read_386'
/usr/bin/ld: sock_diag.c:(.text+0x69b): undefined reference to `atomic64_dec_return_386'
/usr/bin/ld: net/core/sock_diag.o: in function `sock_diag_save_cookie':
sock_diag.c:(.text+0x6d8): undefined reference to `atomic64_read_386'
/usr/bin/ld: sock_diag.c:(.text+0x739): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: sock_diag.c:(.text+0x740): undefined reference to `atomic64_read_386'
/usr/bin/ld: sock_diag.c:(.text+0x77b): undefined reference to `atomic64_dec_return_386'
/usr/bin/ld: net/batman-adv/tp_meter.o: in function `batadv_tp_send':
tp_meter.c:(.text+0x9b5): undefined reference to `atomic64_read_386'
/usr/bin/ld: net/batman-adv/tp_meter.o: in function `batadv_tp_recv_ack.isra.0':
tp_meter.c:(.text+0x1a73): undefined reference to `atomic64_add_386'
/usr/bin/ld: net/batman-adv/tp_meter.o: in function `batadv_tp_start':
tp_meter.c:(.text+0x2067): undefined reference to `atomic64_set_386'
/usr/bin/ld: kernel/sched/cputime.o: in function `account_user_time':
cputime.c:(.text+0x42): undefined reference to `atomic64_add_386'
/usr/bin/ld: kernel/sched/cputime.o: in function `account_guest_time':
cputime.c:(.text+0xe2): undefined reference to `atomic64_add_386'
/usr/bin/ld: kernel/sched/cputime.o: in function `account_system_index_time':
cputime.c:(.text+0x18d): undefined reference to `atomic64_add_386'
/usr/bin/ld: kernel/sched/rt.o: in function `update_curr_rt':
rt.c:(.text+0x238): undefined reference to `atomic64_add_386'
/usr/bin/ld: kernel/sched/deadline.o: in function `update_curr_dl':
deadline.c:(.text+0x144c): undefined reference to `atomic64_add_386'
/usr/bin/ld: kernel/time/posix-cpu-timers.o: in function `cpu_clock_sample_group':
posix-cpu-timers.c:(.text+0x3ba): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x3c6): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x3d4): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x40c): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x41d): undefined reference to `atomic64_read_386'
/usr/bin/ld: kernel/time/posix-cpu-timers.o:posix-cpu-timers.c:(.text+0x42e): more undefined references to `atomic64_read_386' follow
/usr/bin/ld: kernel/time/posix-cpu-timers.o: in function `cpu_clock_sample_group':
posix-cpu-timers.c:(.text+0x4ee): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x508): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x54e): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x568): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x5ae): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x5c8): undefined reference to `atomic64_read_386'
/usr/bin/ld: kernel/time/posix-cpu-timers.o: in function `thread_group_sample_cputime':
posix-cpu-timers.c:(.text+0x1ad0): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x1adf): undefined reference to `atomic64_read_386'
/usr/bin/ld: posix-cpu-timers.c:(.text+0x1af1): undefined reference to `atomic64_read_386'
/usr/bin/ld: kernel/time/posix-cpu-timers.o: in function `run_posix_cpu_timers':
posix-cpu-timers.c:(.text+0x1ccb): undefined reference to `atomic64_read_386'
/usr/bin/ld: kernel/time/posix-cpu-timers.o:posix-cpu-timers.c:(.text+0x1cdc): more undefined references to `atomic64_read_386' follow
/usr/bin/ld: kernel/bpf/core.o: in function `___bpf_prog_run':
core.c:(.text+0x1118): undefined reference to `atomic64_add_386'
>> /usr/bin/ld: core.c:(.text+0x2a94): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/proc/task_mmu.o: in function `task_mem':
task_mmu.c:(.text+0x25c5): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/ext4/balloc.o: in function `ext4_has_free_clusters':
balloc.c:(.text+0xb0): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/ext4/dir.o: in function `ext4_dir_llseek':
dir.c:(.text+0x3af): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/ext4/dir.o: in function `ext4_readdir':
dir.c:(.text+0x8b4): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xdbe): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xdf5): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: dir.c:(.text+0xf5f): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xf90): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xfc5): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/ialloc.o: in function `get_orlov_stats':
ialloc.c:(.text+0x31): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/ext4/inline.o: in function `ext4_add_dirent_to_inline.isra.0':
inline.c:(.text+0x1232): undefined reference to `atomic64_read_386'
/usr/bin/ld: inline.c:(.text+0x126d): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/inline.o: in function `ext4_read_inline_dir':
inline.c:(.text+0x3552): undefined reference to `atomic64_read_386'
/usr/bin/ld: inline.c:(.text+0x36a6): undefined reference to `atomic64_read_386'
/usr/bin/ld: inline.c:(.text+0x36e5): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/inode.o: in function `ext4_do_update_inode':
inode.c:(.text+0x381f): undefined reference to `atomic64_read_386'
/usr/bin/ld: inode.c:(.text+0x3e18): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/ext4/inode.o: in function `__ext4_iget':
inode.c:(.text+0x72aa): undefined reference to `atomic64_set_386'
/usr/bin/ld: inode.c:(.text+0x7a07): undefined reference to `atomic64_set_386'
/usr/bin/ld: fs/ext4/inode.o: in function `ext4_mark_iloc_dirty':
inode.c:(.text+0x8164): undefined reference to `atomic64_read_386'
/usr/bin/ld: inode.c:(.text+0x81a5): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/inode.o: in function `ext4_setattr':
inode.c:(.text+0xd389): undefined reference to `atomic64_read_386'
/usr/bin/ld: inode.c:(.text+0xd3c3): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/ioctl.o: in function `swap_inode_boot_loader':
ioctl.c:(.text+0x11ee): undefined reference to `atomic64_set_386'
/usr/bin/ld: fs/ext4/namei.o: in function `ext4_setent':
namei.c:(.text+0x268e): undefined reference to `atomic64_read_386'
/usr/bin/ld: namei.c:(.text+0x26c9): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/namei.o: in function `add_dirent_to_buf':
namei.c:(.text+0x4687): undefined reference to `atomic64_read_386'
/usr/bin/ld: namei.c:(.text+0x46c0): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/namei.o: in function `ext4_generic_delete_entry':
namei.c:(.text+0x6b4a): undefined reference to `atomic64_read_386'
/usr/bin/ld: namei.c:(.text+0x6b8d): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/namei.o: in function `ext4_rmdir':
namei.c:(.text+0x8dd3): undefined reference to `atomic64_read_386'
/usr/bin/ld: namei.c:(.text+0x8e0b): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext4/resize.o: in function `ext4_flex_group_add':
resize.c:(.text+0x33e9): undefined reference to `atomic64_add_386'
/usr/bin/ld: fs/ext4/xattr.o: in function `ext4_xattr_inode_iget':
xattr.c:(.text+0x768): undefined reference to `atomic64_set_386'
/usr/bin/ld: fs/ext4/xattr.o: in function `ext4_xattr_inode_update_ref':
xattr.c:(.text+0x892): undefined reference to `atomic64_read_386'
/usr/bin/ld: xattr.c:(.text+0x8c6): undefined reference to `atomic64_set_386'
/usr/bin/ld: fs/ext4/xattr.o: in function `ext4_xattr_inode_lookup_create':
xattr.c:(.text+0x1e08): undefined reference to `atomic64_set_386'
/usr/bin/ld: fs/ext2/dir.o: in function `ext2_commit_chunk':
dir.c:(.text+0x28): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x69): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/ext2/dir.o: in function `ext2_readdir':
dir.c:(.text+0x58b): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x904): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x943): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fat/dir.o: in function `fat_remove_entries':
dir.c:(.text+0x34a3): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x34e4): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fat/misc.o: in function `fat_update_time':
misc.c:(.text+0x93b): undefined reference to `atomic64_read_386'
/usr/bin/ld: misc.c:(.text+0x98d): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_rmdir':
dir.c:(.text+0x3aa): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x3f8): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_rename_common':
dir.c:(.text+0xbba): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xc08): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: dir.c:(.text+0xc6e): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xcbe): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_unlink':
dir.c:(.text+0xecb): undefined reference to `atomic64_inc_return_386'
/usr/bin/ld: dir.c:(.text+0xf5a): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0xfa8): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_dentry_revalidate':
dir.c:(.text+0x1509): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_do_getattr':
dir.c:(.text+0x17e6): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_create_open':
dir.c:(.text+0x200a): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x2054): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/dir.o: in function `create_new_entry.constprop.0':
dir.c:(.text+0x234a): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x239e): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_link':
dir.c:(.text+0x24ca): undefined reference to `atomic64_inc_return_386'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_lookup_name':
dir.c:(.text+0x28a6): undefined reference to `atomic64_read_386'
/usr/bin/ld: fs/fuse/dir.o: in function `fuse_reverse_inval_entry':
dir.c:(.text+0x2e9a): undefined reference to `atomic64_read_386'
/usr/bin/ld: dir.c:(.text+0x2eeb): undefined reference to `cmpxchg8b_emu'
/usr/bin/ld: fs/fuse/file.o: in function `__fuse_copy_file_range':
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
kernel/sched/core.c:5370:37: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e46d1b78a03d52306f21f77a4e4a144b6d31486
commit: 826bfeb37bb4302ee6042f330c4c0c757152bdb8 preempt/dynamic: Support dynamic preempt with preempt= boot option
date: 6 weeks ago
config: x86_64-randconfig-r011-20210331 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 826bfeb37bb4302ee6042f330c4c0c757152bdb8
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
kernel/sched/core.c: In function 'schedule_tail':
kernel/sched/core.c:4252:13: warning: variable 'rq' set but not used [-Wunused-but-set-variable]
4252 | struct rq *rq;
| ^~
In file included from include/linux/err.h:5,
from include/linux/kthread.h:5,
from include/trace/events/sched.h:8,
from kernel/sched/core.c:10:
kernel/sched/core.c: In function 'setup_preempt_mode':
>> kernel/sched/core.c:5370:37: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
include/linux/compiler_types.h:300:3: note: in expansion of macro 'if'
300 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:308:2: note: in expansion of macro '__compiletime_assert'
308 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
320 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/static_call.h:116:2: note: in expansion of macro 'BUILD_BUG_ON'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~~
include/linux/static_call.h:116:16: note: in expansion of macro '__same_type'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~
kernel/sched/core.c:5370:3: note: in expansion of macro 'static_call_update'
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^~~~~~~~~~~~~~~~~~
>> kernel/sched/core.c:5370:37: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
include/linux/compiler_types.h:300:3: note: in expansion of macro 'if'
300 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:308:2: note: in expansion of macro '__compiletime_assert'
308 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
320 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/static_call.h:116:2: note: in expansion of macro 'BUILD_BUG_ON'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~~
include/linux/static_call.h:116:16: note: in expansion of macro '__same_type'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~
kernel/sched/core.c:5370:3: note: in expansion of macro 'static_call_update'
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^~~~~~~~~~~~~~~~~~
>> kernel/sched/core.c:5370:37: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:300:3: note: in expansion of macro 'if'
300 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:308:2: note: in expansion of macro '__compiletime_assert'
308 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
320 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/static_call.h:116:2: note: in expansion of macro 'BUILD_BUG_ON'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~~
include/linux/static_call.h:116:16: note: in expansion of macro '__same_type'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~
kernel/sched/core.c:5370:3: note: in expansion of macro 'static_call_update'
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/tracepoint.h:22,
from include/trace/events/sched.h:10,
from kernel/sched/core.c:10:
>> kernel/sched/core.c:5370:37: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5370 | static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/static_call.h:118:39: note: in definition of macro 'static_call_update'
118 | STATIC_CALL_TRAMP_ADDR(name), func); \
| ^~~~
In file included from include/linux/err.h:5,
from include/linux/kthread.h:5,
from include/trace/events/sched.h:8,
from kernel/sched/core.c:10:
kernel/sched/core.c:5383:36: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5383 | static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
include/linux/compiler_types.h:300:3: note: in expansion of macro 'if'
300 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:308:2: note: in expansion of macro '__compiletime_assert'
308 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
320 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/static_call.h:116:2: note: in expansion of macro 'BUILD_BUG_ON'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~~
include/linux/static_call.h:116:16: note: in expansion of macro '__same_type'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~
kernel/sched/core.c:5383:3: note: in expansion of macro 'static_call_update'
5383 | static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:5383:36: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5383 | static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
include/linux/compiler_types.h:300:3: note: in expansion of macro 'if'
300 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:308:2: note: in expansion of macro '__compiletime_assert'
308 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
320 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/static_call.h:116:2: note: in expansion of macro 'BUILD_BUG_ON'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~~
include/linux/static_call.h:116:16: note: in expansion of macro '__same_type'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~
kernel/sched/core.c:5383:3: note: in expansion of macro 'static_call_update'
5383 | static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^~~~~~~~~~~~~~~~~~
kernel/sched/core.c:5383:36: warning: cast between incompatible function types from 'long int (*)(void)' to 'int (*)(void)' [-Wcast-function-type]
5383 | static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
| ^
include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
include/linux/compiler_types.h:300:3: note: in expansion of macro 'if'
300 | if (!(condition)) \
| ^~
include/linux/compiler_types.h:308:2: note: in expansion of macro '__compiletime_assert'
308 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
320 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/static_call.h:116:2: note: in expansion of macro 'BUILD_BUG_ON'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~~
include/linux/static_call.h:116:16: note: in expansion of macro '__same_type'
116 | BUILD_BUG_ON(!__same_type(*(func), STATIC_CALL_TRAMP(name))); \
| ^~~~~~~~~~~
kernel/sched/core.c:5383:3: note: in expansion of macro 'static_call_update'
vim +5370 kernel/sched/core.c
5336
5337 /*
5338 * SC:cond_resched
5339 * SC:might_resched
5340 * SC:preempt_schedule
5341 * SC:preempt_schedule_notrace
5342 * SC:irqentry_exit_cond_resched
5343 *
5344 *
5345 * NONE:
5346 * cond_resched <- __cond_resched
5347 * might_resched <- RET0
5348 * preempt_schedule <- NOP
5349 * preempt_schedule_notrace <- NOP
5350 * irqentry_exit_cond_resched <- NOP
5351 *
5352 * VOLUNTARY:
5353 * cond_resched <- __cond_resched
5354 * might_resched <- __cond_resched
5355 * preempt_schedule <- NOP
5356 * preempt_schedule_notrace <- NOP
5357 * irqentry_exit_cond_resched <- NOP
5358 *
5359 * FULL:
5360 * cond_resched <- RET0
5361 * might_resched <- RET0
5362 * preempt_schedule <- preempt_schedule
5363 * preempt_schedule_notrace <- preempt_schedule_notrace
5364 * irqentry_exit_cond_resched <- irqentry_exit_cond_resched
5365 */
5366 static int __init setup_preempt_mode(char *str)
5367 {
5368 if (!strcmp(str, "none")) {
5369 static_call_update(cond_resched, __cond_resched);
> 5370 static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
5371 static_call_update(preempt_schedule, (typeof(&preempt_schedule)) NULL);
5372 static_call_update(preempt_schedule_notrace, (typeof(&preempt_schedule_notrace)) NULL);
5373 static_call_update(irqentry_exit_cond_resched, (typeof(&irqentry_exit_cond_resched)) NULL);
5374 pr_info("Dynamic Preempt: %s\n", str);
5375 } else if (!strcmp(str, "voluntary")) {
5376 static_call_update(cond_resched, __cond_resched);
5377 static_call_update(might_resched, __cond_resched);
5378 static_call_update(preempt_schedule, (typeof(&preempt_schedule)) NULL);
5379 static_call_update(preempt_schedule_notrace, (typeof(&preempt_schedule_notrace)) NULL);
5380 static_call_update(irqentry_exit_cond_resched, (typeof(&irqentry_exit_cond_resched)) NULL);
5381 pr_info("Dynamic Preempt: %s\n", str);
5382 } else if (!strcmp(str, "full")) {
5383 static_call_update(cond_resched, (typeof(&__cond_resched)) __static_call_return0);
5384 static_call_update(might_resched, (typeof(&__cond_resched)) __static_call_return0);
5385 static_call_update(preempt_schedule, __preempt_schedule_func);
5386 static_call_update(preempt_schedule_notrace, __preempt_schedule_notrace_func);
5387 static_call_update(irqentry_exit_cond_resched, irqentry_exit_cond_resched);
5388 pr_info("Dynamic Preempt: %s\n", str);
5389 } else {
5390 pr_warn("Dynamic Preempt: Unsupported preempt mode %s, default to full\n", str);
5391 return 1;
5392 }
5393 return 0;
5394 }
5395 __setup("preempt=", setup_preempt_mode);
5396
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
Re: [PATCH] media: mtk-vcodec: vdec: Reduce padding in VIDIOC_TRY_FMT
by kernel test robot
Hi Fritz,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on linux/master linus/master v5.12-rc5 next-20210330]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Fritz-Koenig/media-mtk-vcodec-vd...
base: git://linuxtv.org/media_tree.git master
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/70ddfb8b962ccf027d02fdb4502452f89...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Fritz-Koenig/media-mtk-vcodec-vdec-Reduce-padding-in-VIDIOC_TRY_FMT/20210331-061702
git checkout 70ddfb8b962ccf027d02fdb4502452f8996bb25f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c: In function 'vidioc_try_fmt':
>> drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c:680:17: error: 'struct mtk_vcodec_dev' has no member named 'vdec_pdata'; did you mean 'venc_pdata'?
680 | if (ctx->dev->vdec_pdata->uses_stateless_api ||
| ^~~~~~~~~~
| venc_pdata
vim +680 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c
655
656 static int vidioc_try_fmt(struct v4l2_format *f, void *priv,
657 const struct mtk_video_fmt *fmt)
658 {
659 struct v4l2_pix_format_mplane *pix_fmt_mp = &f->fmt.pix_mp;
660
661 pix_fmt_mp->field = V4L2_FIELD_NONE;
662
663 if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
664 pix_fmt_mp->num_planes = 1;
665 pix_fmt_mp->plane_fmt[0].bytesperline = 0;
666 } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
667 int tmp_w, tmp_h;
668 struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
669
670 pix_fmt_mp->height = clamp(pix_fmt_mp->height,
671 MTK_VDEC_MIN_H,
672 MTK_VDEC_MAX_H);
673 pix_fmt_mp->width = clamp(pix_fmt_mp->width,
674 MTK_VDEC_MIN_W,
675 MTK_VDEC_MAX_W);
676
677 tmp_w = pix_fmt_mp->width;
678 tmp_h = pix_fmt_mp->height;
679
> 680 if (ctx->dev->vdec_pdata->uses_stateless_api ||
681 ctx->state >= MTK_STATE_HEADER) {
682 v4l_bound_align_image(&pix_fmt_mp->width,
683 MTK_VDEC_MIN_W,
684 MTK_VDEC_MAX_W, 4,
685 &pix_fmt_mp->height,
686 MTK_VDEC_MIN_H,
687 MTK_VDEC_MAX_H, 5, 6);
688
689 if (pix_fmt_mp->width < tmp_w &&
690 (pix_fmt_mp->width + 16) <= MTK_VDEC_MAX_W)
691 pix_fmt_mp->width += 16;
692 if (pix_fmt_mp->height < tmp_h &&
693 (pix_fmt_mp->height + 32) <= MTK_VDEC_MAX_H)
694 pix_fmt_mp->height += 32;
695 } else {
696 /*
697 * Find next closer width align 64, height align 64, size align
698 * 64 rectangle
699 * Note: This only get default value, the real HW needed value
700 * only available when ctx in MTK_STATE_HEADER state
701 */
702 v4l_bound_align_image(&pix_fmt_mp->width,
703 MTK_VDEC_MIN_W,
704 MTK_VDEC_MAX_W, 6,
705 &pix_fmt_mp->height,
706 MTK_VDEC_MIN_H,
707 MTK_VDEC_MAX_H, 6, 9);
708
709 if (pix_fmt_mp->width < tmp_w &&
710 (pix_fmt_mp->width + 64) <= MTK_VDEC_MAX_W)
711 pix_fmt_mp->width += 64;
712 if (pix_fmt_mp->height < tmp_h &&
713 (pix_fmt_mp->height + 64) <= MTK_VDEC_MAX_H)
714 pix_fmt_mp->height += 64;
715 }
716
717 mtk_v4l2_debug(0,
718 "before resize width=%d, height=%d, after resize width=%d, height=%d, sizeimage=%d",
719 tmp_w, tmp_h, pix_fmt_mp->width,
720 pix_fmt_mp->height,
721 pix_fmt_mp->width * pix_fmt_mp->height);
722
723 pix_fmt_mp->num_planes = fmt->num_planes;
724 pix_fmt_mp->plane_fmt[0].sizeimage =
725 pix_fmt_mp->width * pix_fmt_mp->height;
726 pix_fmt_mp->plane_fmt[0].bytesperline = pix_fmt_mp->width;
727
728 if (pix_fmt_mp->num_planes == 2) {
729 pix_fmt_mp->plane_fmt[1].sizeimage =
730 (pix_fmt_mp->width * pix_fmt_mp->height) / 2;
731 pix_fmt_mp->plane_fmt[1].bytesperline =
732 pix_fmt_mp->width;
733 }
734 }
735
736 pix_fmt_mp->flags = 0;
737 return 0;
738 }
739
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 2 months
[kbuild] [vkoul-soundwire:next 33/36] drivers/soundwire/qcom.c:376 qcom_swrm_irq_handler() warn: impossible condition '(devnum < 0) => (0-255 < 0)'
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git next
head: 06dd96738d618391ae58e1b28f1ba49fef214c95
commit: c7d49c76d1d5f5a41f637c18ce3b756351c7fdf9 [33/36] soundwire: qcom: add support to new interrupts
config: x86_64-randconfig-m001-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/soundwire/qcom.c:376 qcom_swrm_irq_handler() warn: impossible condition '(devnum < 0) => (0-255 < 0)'
vim +376 drivers/soundwire/qcom.c
02efb49aa805cee Srinivas Kandagatla 2020-01-13 356 static irqreturn_t qcom_swrm_irq_handler(int irq, void *dev_id)
02efb49aa805cee Srinivas Kandagatla 2020-01-13 357 {
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 358 struct qcom_swrm_ctrl *swrm = dev_id;
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 359 u32 value, intr_sts, intr_sts_masked;
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 360 u32 i;
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 361 u8 devnum = 0;
^^^^^^^^^^^^^
no need to initalized devnum, btw.
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 362 int ret = IRQ_HANDLED;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 363
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 364 swrm->reg_read(swrm, SWRM_INTERRUPT_STATUS, &intr_sts);
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 365 intr_sts_masked = intr_sts & swrm->intr_mask;
02efb49aa805cee Srinivas Kandagatla 2020-01-13 366
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 367 do {
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 368 for (i = 0; i < SWRM_INTERRUPT_MAX; i++) {
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 369 value = intr_sts_masked & BIT(i);
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 370 if (!value)
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 371 continue;
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 372
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 373 switch (value) {
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 374 case SWRM_INTERRUPT_STATUS_SLAVE_PEND_IRQ:
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 375 devnum = qcom_swrm_get_alert_slave_dev_num(swrm);
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 @376 if (devnum < 0) {
^^^^^^^^^^
"devnum" is a u8 so it can't be negative.
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 377 dev_err_ratelimited(swrm->dev,
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 378 "no slave alert found.spurious interrupt\n");
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 379 } else {
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 380 sdw_handle_slave_status(&swrm->bus, swrm->status);
02efb49aa805cee Srinivas Kandagatla 2020-01-13 381 }
02efb49aa805cee Srinivas Kandagatla 2020-01-13 382
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 383 break;
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 384 case SWRM_INTERRUPT_STATUS_NEW_SLAVE_ATTACHED:
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 385 case SWRM_INTERRUPT_STATUS_CHANGE_ENUM_SLAVE_STATUS:
c7d49c76d1d5f5a Srinivas Kandagatla 2021-03-30 386 dev_err_ratelimited(swrm->dev, "%s: SWR new slave attached\n",
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org
1 year, 2 months