Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Nov 2012 02:25:04 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        freebsd-wireless@freebsd.org
Subject:   Please test - collapsing the TX locking down to ATH_TX_LOCK()
Message-ID:  <CAJ-VmomJ5Oa_wyo-WxrM65OQDxcKyxr6mUi=SE7H5xnw6rbvVg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,

This patch collapses all of the TXQ locking down to a single TX lock
and (mostly correctly) wraps the TX outbound path in a single, giant
lock.

The TX completion path is still a patchwork of locking, primarily
because _it_ needs to be able to free net80211 node references and
that can't be done with the TX lock held (or all kinds of LORs occur.)

Once this is done, I'll strip out the ATH_NODE lock (since it's now
not really needed any longer) and I'll just do the whole TX and TX
completion handling behind this TX lock.
I can then undo some of the strange locking going on with the power
save handling - then I can move onto implementing correctly behaving
PS-POLL.

Also, once this is done, I can start doing useful things, like
shoehorning traffic from any TID to any hardware TXQ, rather than
assuming a fixed mapping between TID and hardware TXQ.
(Again, this will be useful for PS-POLL handling.)

http://people.freebsd.org/~adrian/ath/20121129-ath-tx-lock-5.diff

I'd appreciate it if people would test this out against the latest
-HEAD and let me know if it breaks. Since it's just mostly a
mechanical copy/paste, I'm only really worried if it causes crashes,
hangs or LORs.

There's one LOR that will get triggered if you send fragments, but as
sending fragments is currently just plain broken, it won't show up.

Thanks,



Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomJ5Oa_wyo-WxrM65OQDxcKyxr6mUi=SE7H5xnw6rbvVg>