[Intel-wired-lan] [jkirsher-next-queue:dev-queue 9/15] net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'

kbuild test robot lkp at intel.com
Mon Jul 2 15:14:18 UTC 2018


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head:   a033baf24be32dbc9f75d84b5dd90600ab65f2c4
commit: fba8131dba987290a4f14a04ad74870654f81a6b [9/15] net: Add support for subordinate traffic classes to netdev_pick_tx
config: x86_64-randconfig-s5-07022124 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout fba8131dba987290a4f14a04ad74870654f81a6b
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/rculist.h:11:0,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/uaccess.h:5,
                    from net/core/dev.c:75:
   net/core/dev.c: In function 'get_xps_queue':
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/rcupdate.h:350:10: note: in definition of macro '__rcu_dereference_check'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
             ^
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/rcupdate.h:350:36: note: in definition of macro '__rcu_dereference_check'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
                                       ^
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/current.h:5:0,
                    from include/linux/sched.h:12,
                    from include/linux/uaccess.h:5,
                    from net/core/dev.c:75:
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/compiler.h:250:17: note: in definition of macro '__READ_ONCE'
     union { typeof(x) __val; char __c[1]; } __u;   \
                    ^
   include/linux/rcupdate.h:350:48: note: in expansion of macro 'READ_ONCE'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
                                                   ^~~~~~~~~
   include/linux/rcupdate.h:487:2: note: in expansion of macro '__rcu_dereference_check'
     __rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
     ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/compiler.h:252:22: note: in definition of macro '__READ_ONCE'
      __read_once_size(&(x), __u.__c, sizeof(x));  \
                         ^
   include/linux/rcupdate.h:350:48: note: in expansion of macro 'READ_ONCE'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
                                                   ^~~~~~~~~
   include/linux/rcupdate.h:487:2: note: in expansion of macro '__rcu_dereference_check'
     __rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
     ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/compiler.h:252:42: note: in definition of macro '__READ_ONCE'
      __read_once_size(&(x), __u.__c, sizeof(x));  \
                                             ^
   include/linux/rcupdate.h:350:48: note: in expansion of macro 'READ_ONCE'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
                                                   ^~~~~~~~~
   include/linux/rcupdate.h:487:2: note: in expansion of macro '__rcu_dereference_check'
     __rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
     ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/compiler.h:254:30: note: in definition of macro '__READ_ONCE'
      __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
                                 ^
   include/linux/rcupdate.h:350:48: note: in expansion of macro 'READ_ONCE'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
                                                   ^~~~~~~~~
   include/linux/rcupdate.h:487:2: note: in expansion of macro '__rcu_dereference_check'
     __rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
     ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/compiler.h:254:50: note: in definition of macro '__READ_ONCE'
      __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
                                                     ^
   include/linux/rcupdate.h:350:48: note: in expansion of macro 'READ_ONCE'
     typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
                                                   ^~~~~~~~~
   include/linux/rcupdate.h:487:2: note: in expansion of macro '__rcu_dereference_check'
     __rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
     ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~
   In file included from include/linux/rculist.h:11:0,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/uaccess.h:5,
                    from net/core/dev.c:75:
>> net/core/dev.c:3595:35: error: 'struct net_device' has no member named 'xps_maps'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                                      ^
   include/linux/rcupdate.h:353:12: note: in definition of macro '__rcu_dereference_check'
     ((typeof(*p) __force __kernel *)(________p1)); \
               ^
   include/linux/rcupdate.h:545:28: note: in expansion of macro 'rcu_dereference_check'
    #define rcu_dereference(p) rcu_dereference_check(p, 0)
                               ^~~~~~~~~~~~~~~~~~~~~
>> net/core/dev.c:3595:13: note: in expansion of macro 'rcu_dereference'
     dev_maps = rcu_dereference(sb_dev->xps_maps);
                ^~~~~~~~~~~~~~~

vim +3595 net/core/dev.c

  3578	
  3579	static inline int get_xps_queue(struct net_device *dev,
  3580					struct net_device *sb_dev,
  3581					struct sk_buff *skb)
  3582	{
  3583	#ifdef CONFIG_XPS
  3584		struct xps_dev_maps *dev_maps;
  3585		struct sock *sk = skb->sk;
  3586		int queue_index = -1;
  3587	
  3588		if (!static_key_false(&xps_needed))
  3589			return -1;
  3590	
  3591		rcu_read_lock();
  3592		if (!static_key_false(&xps_rxqs_needed))
  3593			goto get_cpus_map;
  3594	
> 3595		dev_maps = rcu_dereference(sb_dev->xps_maps);
  3596		if (dev_maps) {
  3597			int tci = sk_rx_queue_get(sk);
  3598	
  3599			if (tci >= 0 && tci < dev->num_rx_queues)
  3600				queue_index = __get_xps_queue_idx(dev, skb, dev_maps,
  3601								  tci);
  3602		}
  3603	
  3604	get_cpus_map:
  3605		if (queue_index < 0) {
  3606			dev_maps = rcu_dereference(dev->xps_cpus_map);
  3607			if (dev_maps) {
  3608				unsigned int tci = skb->sender_cpu - 1;
  3609	
  3610				queue_index = __get_xps_queue_idx(dev, skb, dev_maps,
  3611								  tci);
  3612			}
  3613		}
  3614		rcu_read_unlock();
  3615	
  3616		return queue_index;
  3617	#else
  3618		return -1;
  3619	#endif
  3620	}
  3621	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 30206 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20180702/bda07c1a/attachment-0001.bin>


More information about the Intel-wired-lan mailing list