tree: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git master head: 49241828e8ed0b0a3dc73466d5bc562ae90acfd6 commit: 96bd4b9e4a44c6c1da93fd3e48bd8eb1b332584a [6/11] mac80211: Adjust TSQ pacing shift config: x86_64-randconfig-x011-201807 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 96bd4b9e4a44c6c1da93fd3e48bd8eb1b332584a # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): net/mac80211/tx.c: In function '__ieee80211_subif_start_xmit': >> net/mac80211/tx.c:3581:3: error: implicit declaration of function 'sk_pacing_shift_update'; did you mean 'sk_incoming_cpu_update'? [-Werror=implicit-function-declaration] sk_pacing_shift_update(skb->sk, 8); ^~~~~~~~~~~~~~~~~~~~~~ sk_incoming_cpu_update Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:clear_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:test_and_clear_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64 Cyclomatic Complexity 1 include/uapi/linux/byteorder/little_endian.h:__le16_to_cpup Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64 Cyclomatic Complexity 1 include/linux/kernel.h:reciprocal_scale Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD Cyclomatic Complexity 2 include/linux/list.h:__list_add Cyclomatic Complexity 1 include/linux/list.h:list_add Cyclomatic Complexity 1 include/linux/list.h:list_add_tail Cyclomatic Complexity 1 include/linux/list.h:__list_del Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry Cyclomatic Complexity 1 include/linux/list.h:list_del_init Cyclomatic Complexity 1 include/linux/list.h:list_move Cyclomatic Complexity 1 include/linux/list.h:list_move_tail Cyclomatic Complexity 1 include/linux/list.h:list_empty Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 3 include/linux/bitmap.h:bitmap_empty Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR Cyclomatic Complexity 1 include/linux/err.h:IS_ERR Cyclomatic Complexity 3 include/linux/err.h:IS_ERR_OR_NULL Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/atomic64_64.h:atomic64_add_return Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_sub Cyclomatic Complexity 1 include/linux/bottom_half.h:__local_bh_disable_ip Cyclomatic Complexity 1 include/linux/bottom_half.h:local_bh_disable Cyclomatic Complexity 1 include/linux/bottom_half.h:local_bh_enable Cyclomatic Complexity 1 include/linux/lockdep.h:lock_is_held Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock_bh Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_bh Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 1 include/linux/rcupdate.h:__rcu_read_lock Cyclomatic Complexity 1 include/linux/rcupdate.h:__rcu_read_unlock Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_lock_acquire Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_lock_release Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_unlock Cyclomatic Complexity 1 include/linux/jiffies.h:_msecs_to_jiffies Cyclomatic Complexity 3 include/linux/jiffies.h:msecs_to_jiffies Cyclomatic Complexity 1 include/linux/timekeeping.h:ktime_get_ns Cyclomatic Complexity 1 include/linux/timer.h:timer_pending Cyclomatic Complexity 1 include/linux/kasan.h:kasan_kmalloc Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index Cyclomatic Complexity 1 include/linux/slab.h:kmem_cache_alloc_trace Cyclomatic Complexity 1 include/linux/slab.h:kmalloc_order_trace Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large Cyclomatic Complexity 5 include/linux/slab.h:kmalloc Cyclomatic Complexity 5 include/linux/slab.h:kmalloc_array Cyclomatic Complexity 1 include/linux/slab.h:kcalloc Cyclomatic Complexity 1 include/linux/refcount.h:refcount_read Cyclomatic Complexity 1 arch/x86/include/asm/checksum_64.h:add32_with_carry Cyclomatic Complexity 1 arch/x86/include/asm/checksum_64.h:csum_add Cyclomatic Complexity 1 include/net/checksum.h:csum_sub Cyclomatic Complexity 4 include/linux/idr.h:idr_alloc Cyclomatic Complexity 1 include/linux/skbuff.h:skb_end_pointer Cyclomatic Complexity 1 include/linux/skbuff.h:skb_queue_empty Cyclomatic Complexity 1 include/linux/skbuff.h:skb_queue_is_last Cyclomatic Complexity 1 include/linux/skbuff.h:skb_queue_next Cyclomatic Complexity 3 include/linux/skbuff.h:skb_cloned Cyclomatic Complexity 2 include/linux/skbuff.h:skb_header_cloned Cyclomatic Complexity 1 include/linux/skbuff.h:skb_shared Cyclomatic Complexity 2 include/linux/skbuff.h:skb_peek Cyclomatic Complexity 2 include/linux/skbuff.h:skb_peek_tail Cyclomatic Complexity 1 include/linux/skbuff.h:skb_queue_len Cyclomatic Complexity 1 include/linux/skbuff.h:__skb_queue_head_init Cyclomatic Complexity 1 include/linux/skbuff.h:__skb_insert Cyclomatic Complexity 1 include/linux/skbuff.h:__skb_queue_splice Cyclomatic Complexity 2 include/linux/skbuff.h:skb_queue_splice_init Cyclomatic Complexity 2 include/linux/skbuff.h:skb_queue_splice_tail Cyclomatic Complexity 2 include/linux/skbuff.h:skb_queue_splice_tail_init Cyclomatic Complexity 1 include/linux/skbuff.h:__skb_queue_before Cyclomatic Complexity 1 include/linux/skbuff.h:__skb_queue_tail Cyclomatic Complexity 1 include/linux/skbuff.h:__skb_unlink Cyclomatic Complexity 2 include/linux/skbuff.h:__skb_dequeue Cyclomatic Complexity 1 include/linux/skbuff.h:skb_is_nonlinear Cyclomatic Complexity 1 include/linux/skbuff.h:skb_tail_pointer Cyclomatic Complexity 1 include/linux/skbuff.h:skb_put_zero Cyclomatic Complexity 1 include/linux/skbuff.h:skb_put_data Cyclomatic Complexity 1 include/linux/skbuff.h:skb_headroom Cyclomatic Complexity 2 include/linux/skbuff.h:skb_tailroom Cyclomatic Complexity 1 include/linux/skbuff.h:skb_reserve Cyclomatic Complexity 1 include/linux/skbuff.h:skb_reset_transport_header Cyclomatic Complexity 1 include/linux/skbuff.h:skb_set_transport_header Cyclomatic Complexity 1 include/linux/skbuff.h:skb_network_header Cyclomatic Complexity 1 include/linux/skbuff.h:skb_reset_network_header Cyclomatic Complexity 1 include/linux/skbuff.h:skb_set_network_header Cyclomatic Complexity 1 include/linux/skbuff.h:skb_reset_mac_header Cyclomatic Complexity 1 include/linux/skbuff.h:skb_set_mac_header vim +3581 net/mac80211/tx.c 3553 3554 void __ieee80211_subif_start_xmit(struct sk_buff *skb, 3555 struct net_device *dev, 3556 u32 info_flags) 3557 { 3558 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); 3559 struct sta_info *sta; 3560 struct sk_buff *next; 3561 3562 if (unlikely(skb->len < ETH_HLEN)) { 3563 kfree_skb(skb); 3564 return; 3565 } 3566 3567 rcu_read_lock(); 3568 3569 if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) 3570 goto out_free; 3571 3572 if (!IS_ERR_OR_NULL(sta)) { 3573 struct ieee80211_fast_tx *fast_tx; 3574 3575 /* We need a bit of data queued to build aggregates properly, so 3576 * instruct the TCP stack to allow more than a single ms of data 3577 * to be queued in the stack. The value is a bit-shift of 1 3578 * second, so 8 is ~4ms of queued data. Only affects local TCP 3579 * sockets. 3580 */ > 3581 sk_pacing_shift_update(skb->sk, 8); 3582 3583 fast_tx = rcu_dereference(sta->fast_tx); 3584 3585 if (fast_tx && 3586 ieee80211_xmit_fast(sdata, sta, fast_tx, skb)) 3587 goto out; 3588 } 3589 3590 if (skb_is_gso(skb)) { 3591 struct sk_buff *segs; 3592 3593 segs = skb_gso_segment(skb, 0); 3594 if (IS_ERR(segs)) { 3595 goto out_free; 3596 } else if (segs) { 3597 consume_skb(skb); 3598 skb = segs; 3599 } 3600 } else { 3601 /* we cannot process non-linear frames on this path */ 3602 if (skb_linearize(skb)) { 3603 kfree_skb(skb); 3604 goto out; 3605 } 3606 3607 /* the frame could be fragmented, software-encrypted, and other 3608 * things so we cannot really handle checksum offload with it - 3609 * fix it up in software before we handle anything else. 3610 */ 3611 if (skb->ip_summed == CHECKSUM_PARTIAL) { 3612 skb_set_transport_header(skb, 3613 skb_checksum_start_offset(skb)); 3614 if (skb_checksum_help(skb)) 3615 goto out_free; 3616 } 3617 } 3618 3619 next = skb; 3620 while (next) { 3621 skb = next; 3622 next = skb->next; 3623 3624 skb->prev = NULL; 3625 skb->next = NULL; 3626 3627 skb = ieee80211_build_hdr(sdata, skb, info_flags, sta); 3628 if (IS_ERR(skb)) 3629 goto out; 3630 3631 ieee80211_tx_stats(dev, skb->len); 3632 3633 ieee80211_xmit(sdata, sta, skb); 3634 } 3635 goto out; 3636 out_free: 3637 kfree_skb(skb); 3638 out: 3639 rcu_read_unlock(); 3640 } 3641 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip