[Make-wifi-fast] [PATCH v7] mac80211: Move reorder-sensitive TX handlers to after TXQ dequeue.

Dave Taht dave.taht at gmail.com
Mon Sep 5 16:23:50 EDT 2016


Alright, I got your build running on one of the new uap ac lites. Your
patchset includes
348-mac80211-Use-more-standard-codel-and-fq_codel-defaul.patch which
reverts the fq quantum to 1514, and the codel target to 5ms.

(still not clear to me what the actual max packet size is in this layer)

There's no kernel repo in what you put up, so the ath10k firmware and
kernel modules are AWOL. So I tested mcs1, msc4, and minstrel. I had
enabled (to blow up multicast), also.

It basically survived many tests, with generally half the latency of
what I got from lede mainline, under various loads (from 40ms median
to below 20ms median) I did not test crypto, just pounded it flat from
a mac. Bandwidth was slightly lower at the peak in ht20 mode vs lede
mainine but my circumstances are not very repeatable yet - I hadn't
had babel enabled on the previous test run, I tested a channel that is
probably busy during the day vs not at night, I'd moved both the AP
and the test station, and so on. I'll be getting towards repeatability
soon, and
I'm happy the new APs seem to be working great. At 65Mbit I'd see
about 12% sirq.

I'll put up some pics later, try to test powersave, try higher rates,
and various forms of crypto - still yurtlab-building here!

However - probably triggered by the rrul test, I did get 3 kernel
panics. the symptoms were that the osx box would stay associated but
no longer pass traffic.

[ 3149.554217] ------------[ cut here ]------------
[ 3149.559260] WARNING: CPU: 0 PID: 0 at
ieee80211_tx_dequeue+0x17c/0x968 [mac80211]()
[ 3149.571663] Modules linked in: ath9k ath9k_common iptable_nat
ath9k_hw ath nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 mac80211
ipt_REJECT ipt_MASQUERADE ebtable_nat ebtable_filter ebtable_broute
cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_state xt_recent
xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length xt_id xt_hl
xt_helper xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit
xt_connbytes xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_IPMARK xt_HL
xt_DSCP xt_CT xt_CLASSIFY nf_reject_ipv4 nf_nat_redirect
nf_nat_masquerade_ipv4 nf_nat nf_log_ipv4 nf_defrag_ipv6
nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack_netlink nf_conntrack
iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables ebtables
ebt_vlan ebt_stp ebt_snat ebt_redirect ebt_pkttype ebt_mark_m ebt_mark
ebt_limit ebt_ip6 ebt_ip ebt_dnat ebt_arpreply ebt_arp ebt_among
ebt_802_3 crc_ccitt compat_xtables compat br_netfilter arptable_filter
arpt_mangle arp_tables sch_cake em_nbyte sch_htb sch_prio sch_dsmark
sch_pie sch_gred em_meta sch_teql cls_basic act_ipt sch_red em_text
sch_tbf act_police sch_codel sch_sfq em_cmp sch_fq act_skbedit
act_mirred em_u32 cls_u32 cls_tcindex cls_flow cls_route cls_fw
sch_hfsc sch_ingress leds_wndr3700_usb ledtrig_usbdev xt_set
ip_set_list_set ip_set_hash_netiface ip_set_hash_netport
ip_set_hash_netnet ip_set_hash_net ip_set_hash_netportnet
ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip
ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip
ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set
nfnetlink ip6t_rt ip6t_frag ip6t_hbh ip6t_eui64 ip6t_mh ip6t_ah
ip6t_ipv6header ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common
ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables ifb
sit tunnel4 ip_tunnel tun ohci_platform ohci_hcd ehci_platform
ehci_hcd gpio_button_hotplug usbcore nls_base usb_common
[ 3149.740660] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.4.19 #0
[ 3149.747856] Stack : 804205e4 00000000 00000001 80480000 8046f058
8046ece3 803f9bd0 00000000
[ 3149.747856]       804f37e0 b75381f8 87011000 87011008 871c3bd0
800ada74 80400a84 80460000
[ 3149.747856]       00000003 b75381f8 803fea6c 8046597c 871c3bd0
800ab9a0 00000002 00000000
[ 3149.747856]       8046b1a0 80231300 00000000 00000000 00000000
00000000 00000000 00000000
[ 3149.747856]       00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[ 3149.747856]       ...
[ 3149.784879] Call Trace:
[ 3149.787417] [<80072378>] show_stack+0x50/0x84
[ 3149.791925] [<80084240>] warn_slowpath_common+0xa4/0xd4
[ 3149.797333] [<800842f8>] warn_slowpath_null+0x18/0x24
[ 3149.802826] [<8712cf2c>] ieee80211_tx_dequeue+0x17c/0x968 [mac80211]
[ 3149.809726] [<870ea900>] ath_tid_dequeue+0x98/0x13c [ath9k]
[ 3149.815532] [<870ea9f8>] ath_tx_get_tid_subframe+0x54/0x1ec [ath9k]
[ 3149.822026] [<870eb354>] ath_txq_schedule+0x540/0x650 [ath9k]
[ 3149.827993] [<870ec018>] ath_tx_process_buffer+0x9d0/0xa18 [ath9k]
[ 3149.834413] [<870ecd6c>] ath_tx_edma_tasklet+0x2d0/0x324 [ath9k]
[ 3149.840634] [<870e4fa0>] ath9k_tasklet+0x24c/0x2b0 [ath9k]
[ 3149.846332] [<80087634>] tasklet_action+0x80/0xc8
[ 3149.851189] [<80086f68>] __do_softirq+0x26c/0x32c
[ 3149.856070] [<8006a908>] plat_irq_dispatch+0xd4/0x10c
[ 3149.861287] [<80060830>] ret_from_irq+0x0/0x4
[ 3149.865803] [<8006ec00>] r4k_wait_irqoff+0x18/0x20
[ 3149.870757] [<800a87ac>] cpu_startup_entry+0xf8/0x184
[ 3149.875994] [<8049cbec>] start_kernel+0x488/0x4a8
[ 3149.880851]
[ 3149.882392] ---[ end trace 103165cc10a64d96 ]---

More information about the Make-wifi-fast mailing list