a frame which was retried N times was retried just once.
This punishes retry-heavy data rates even more and should reduce latency.
It does not seem to have a noticable effect on net throughput in my testing.
If this change causes throughput problems for anyone, let me know.
ok tb@ mlarkin@
-/* $OpenBSD: ar5008.c,v 1.43 2017/03/08 12:02:41 mpi Exp $ */
+/* $OpenBSD: ar5008.c,v 1.44 2017/04/26 07:53:17 stsp Exp $ */
/*-
* Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr>
an->mn.ampdu_size = bf->bf_m->m_pkthdr.len + IEEE80211_CRC_LEN;
an->mn.agglen = 1; /* XXX We do not yet support Tx agg. */
if (failcnt > 0)
- an->mn.retries++;
+ an->mn.retries += failcnt;
if (txfail)
an->mn.txfail++;
if (ic->ic_state == IEEE80211_S_RUN) {
-/* $OpenBSD: if_iwm.c,v 1.172 2017/04/24 09:48:42 stsp Exp $ */
+/* $OpenBSD: if_iwm.c,v 1.173 2017/04/26 07:53:17 stsp Exp $ */
/*
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
in->in_mn.ampdu_size = le16toh(tx_resp->byte_cnt);
in->in_mn.agglen = tx_resp->frame_count;
if (tx_resp->failure_frame > 0)
- in->in_mn.retries++;
+ in->in_mn.retries += tx_resp->failure_frame;
if (txfail)
in->in_mn.txfail += tx_resp->frame_count;
if (ic->ic_state == IEEE80211_S_RUN)
-/* $OpenBSD: if_iwn.c,v 1.185 2017/03/08 12:02:41 mpi Exp $ */
+/* $OpenBSD: if_iwn.c,v 1.186 2017/04/26 07:53:17 stsp Exp $ */
/*-
* Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
wn->mn.ampdu_size = len;
wn->mn.agglen = nframes;
if (ackfailcnt > 0)
- wn->mn.retries++;
+ wn->mn.retries += ackfailcnt;
if (txfail)
wn->mn.txfail += nframes;
if (ic->ic_state == IEEE80211_S_RUN)