Hi Håkon,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.19-rc4 next-20180913]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/H-kon-Bugge/IB-mlx4-Enable-debug-print-of-SMPs/20180917-232956
config: i386-randconfig-x002-201837 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/rdma/ib_mad.h:40,
                    from drivers/infiniband//hw/mlx4/mad.c:33:
   drivers/infiniband//hw/mlx4/mad.c: In function 'ib_process_mad':
>> include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of 
>> type 'unsigned int', but argument 9 has type 'long long unsigned int' 
>> [-Wformat=]
    #define KERN_SOH "\001"  /* ASCII Start Of Header */
                     ^
   include/linux/printk.h:136:10: note: in definition of macro 'no_printk'
      printk(fmt, ##__VA_ARGS__);  \
             ^~~
   include/linux/kern_levels.h:15:20: note: in expansion of macro 'KERN_SOH'
    #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */
                       ^~~~~~~~
   include/linux/printk.h:346:12: note: in expansion of macro 'KERN_DEBUG'
     no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
               ^~~~~~~~~~
>> drivers/infiniband//hw/mlx4/mad.c:811:3: note: in expansion of macro 
>> 'pr_debug'
      pr_debug("received MAD: port:%d slid:%d sqpn:%d "
      ^~~~~~~~
   drivers/infiniband//hw/mlx4/mad.c:812:48: note: format string is defined here
        "dlid_bits:%d dqpn:%d wc_flags:0x%x tid:%08x cls:%x mtd:%x atr:%x\n",
                                                ~~~^
                                                %08llx
--
   In file included from include/linux/kernel.h:14:0,
                    from include/linux/list.h:9,
                    from include/rdma/ib_mad.h:40,
                    from drivers/infiniband/hw/mlx4/mad.c:33:
   drivers/infiniband/hw/mlx4/mad.c: In function 'ib_process_mad':
>> include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of 
>> type 'unsigned int', but argument 9 has type 'long long unsigned int' 
>> [-Wformat=]
    #define KERN_SOH "\001"  /* ASCII Start Of Header */
                     ^
   include/linux/printk.h:136:10: note: in definition of macro 'no_printk'
      printk(fmt, ##__VA_ARGS__);  \
             ^~~
   include/linux/kern_levels.h:15:20: note: in expansion of macro 'KERN_SOH'
    #define KERN_DEBUG KERN_SOH "7" /* debug-level messages */
                       ^~~~~~~~
   include/linux/printk.h:346:12: note: in expansion of macro 'KERN_DEBUG'
     no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
               ^~~~~~~~~~
   drivers/infiniband/hw/mlx4/mad.c:811:3: note: in expansion of macro 
'pr_debug'
      pr_debug("received MAD: port:%d slid:%d sqpn:%d "
      ^~~~~~~~
   drivers/infiniband/hw/mlx4/mad.c:812:48: note: format string is defined here
        "dlid_bits:%d dqpn:%d wc_flags:0x%x tid:%08x cls:%x mtd:%x atr:%x\n",
                                                ~~~^
                                                %08llx

vim +/pr_debug +811 drivers/infiniband//hw/mlx4/mad.c

   801  
   802  static int ib_process_mad(struct ib_device *ibdev, int mad_flags, u8 
port_num,
   803                          const struct ib_wc *in_wc, const struct ib_grh 
*in_grh,
   804                          const struct ib_mad *in_mad, struct ib_mad 
*out_mad)
   805  {
   806          u16 slid, prev_lid = 0;
   807          int err;
   808          struct ib_port_attr pattr;
   809  
   810          if (in_wc && in_wc->qp) {
 > 811                  pr_debug("received MAD: port:%d slid:%d sqpn:%d "
   812                           "dlid_bits:%d dqpn:%d wc_flags:0x%x tid:%08x 
cls:%x mtd:%x atr:%x\n",
   813                           port_num,
   814                           in_wc->slid, in_wc->src_qp,
   815                           in_wc->dlid_path_bits,
   816                           in_wc->qp->qp_num,
   817                           in_wc->wc_flags,
   818                           be64_to_cpu(in_mad->mad_hdr.tid),
   819                           in_mad->mad_hdr.mgmt_class, 
in_mad->mad_hdr.method,
   820                           be16_to_cpu(in_mad->mad_hdr.attr_id));
   821                  if (in_wc->wc_flags & IB_WC_GRH) {
   822                          pr_debug("sgid_hi:0x%016llx 
sgid_lo:0x%016llx\n",
   823                                   
be64_to_cpu(in_grh->sgid.global.subnet_prefix),
   824                                   
be64_to_cpu(in_grh->sgid.global.interface_id));
   825                          pr_debug("dgid_hi:0x%016llx 
dgid_lo:0x%016llx\n",
   826                                   
be64_to_cpu(in_grh->dgid.global.subnet_prefix),
   827                                   
be64_to_cpu(in_grh->dgid.global.interface_id));
   828                  }
   829          }
   830  
   831          slid = in_wc ? ib_lid_cpu16(in_wc->slid) : 
be16_to_cpu(IB_LID_PERMISSIVE);
   832  
   833          if (in_mad->mad_hdr.method == IB_MGMT_METHOD_TRAP && slid == 0) 
{
   834                  forward_trap(to_mdev(ibdev), port_num, in_mad);
   835                  return IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_CONSUMED;
   836          }
   837  
   838          if (in_mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED 
||
   839              in_mad->mad_hdr.mgmt_class == 
IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) {
   840                  if (in_mad->mad_hdr.method   != IB_MGMT_METHOD_GET &&
   841                      in_mad->mad_hdr.method   != IB_MGMT_METHOD_SET &&
   842                      in_mad->mad_hdr.method   != 
IB_MGMT_METHOD_TRAP_REPRESS)
   843                          return IB_MAD_RESULT_SUCCESS;
   844  
   845                  /*
   846                   * Don't process SMInfo queries -- the SMA can't handle 
them.
   847                   */
   848                  if (in_mad->mad_hdr.attr_id == IB_SMP_ATTR_SM_INFO)
   849                          return IB_MAD_RESULT_SUCCESS;
   850          } else if (in_mad->mad_hdr.mgmt_class == 
IB_MGMT_CLASS_PERF_MGMT ||
   851                     in_mad->mad_hdr.mgmt_class == MLX4_IB_VENDOR_CLASS1  
 ||
   852                     in_mad->mad_hdr.mgmt_class == MLX4_IB_VENDOR_CLASS2  
 ||
   853                     in_mad->mad_hdr.mgmt_class == 
IB_MGMT_CLASS_CONG_MGMT) {
   854                  if (in_mad->mad_hdr.method  != IB_MGMT_METHOD_GET &&
   855                      in_mad->mad_hdr.method  != IB_MGMT_METHOD_SET)
   856                          return IB_MAD_RESULT_SUCCESS;
   857          } else
   858                  return IB_MAD_RESULT_SUCCESS;
   859  
   860          if ((in_mad->mad_hdr.mgmt_class == 
IB_MGMT_CLASS_SUBN_LID_ROUTED ||
   861               in_mad->mad_hdr.mgmt_class == 
IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) &&
   862              in_mad->mad_hdr.method == IB_MGMT_METHOD_SET &&
   863              in_mad->mad_hdr.attr_id == IB_SMP_ATTR_PORT_INFO &&
   864              !ib_query_port(ibdev, port_num, &pattr))
   865                  prev_lid = ib_lid_cpu16(pattr.lid);
   866  
   867          err = mlx4_MAD_IFC(to_mdev(ibdev),
   868                             (mad_flags & IB_MAD_IGNORE_MKEY ? 
MLX4_MAD_IFC_IGNORE_MKEY : 0) |
   869                             (mad_flags & IB_MAD_IGNORE_BKEY ? 
MLX4_MAD_IFC_IGNORE_BKEY : 0) |
   870                             MLX4_MAD_IFC_NET_VIEW,
   871                             port_num, in_wc, in_grh, in_mad, out_mad);
   872          if (err)
   873                  return IB_MAD_RESULT_FAILURE;
   874  
   875          if (!out_mad->mad_hdr.status) {
   876                  smp_snoop(ibdev, port_num, in_mad, prev_lid);
   877                  /* slaves get node desc from FW */
   878                  if (!mlx4_is_slave(to_mdev(ibdev)->dev))
   879                          node_desc_override(ibdev, out_mad);
   880          }
   881  
   882          /* set return bit in status of directed route responses */
   883          if (in_mad->mad_hdr.mgmt_class == 
IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE)
   884                  out_mad->mad_hdr.status |= cpu_to_be16(1 << 15);
   885  
   886          if (in_mad->mad_hdr.method == IB_MGMT_METHOD_TRAP_REPRESS)
   887                  /* no response for trap repress */
   888                  return IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_CONSUMED;
   889  
   890          return IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_REPLY;
   891  }
   892  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to