Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Aug 2012 01:42:06 -0600
From:      PseudoCylon <moonlightakkiy@yahoo.ca>
To:        Adrian Chadd <adrian.chadd@gmail.com>
Cc:        freebsd-wireless@freebsd.org, Kim Culhan <w8hdkim@gmail.com>
Subject:   Re: ath lor
Message-ID:  <CAFZ_MY%2BmE_%2B2QHB=iVYP6CA_96pt8d=9PNYb2_Y3s6x%2BW2HUyw@mail.gmail.com>
In-Reply-To: <CAJ-VmomXVKYodo9Q5Nt1mvWPsOtSHjh5R9RqKcqtrGfrYjh9AA@mail.gmail.com>
References:  <CAFZ_MYKgUkryy4parts3QahAyPA7FY9xUqC98_E7oFW%2BzarA8A@mail.gmail.com> <CAFZ_MYKeOKxT3k7JWHjdH83vbieZ6JpXe0kbXTJy4neEd5Aqew@mail.gmail.com> <CAJ-VmomGBvgLwFEcXbEuYkAj=g%2By8zVo8cT2nSSMdydCk=OhYQ@mail.gmail.com> <CAFZ_MYJP97aO73zLpJF9%2B8MiQVqAHGNngmtOakYDcaikvyq7og@mail.gmail.com> <CAJ-VmomSTcTFVQovOaGB9_7kTh_R9Z2W4bypknHVrtykYz2SMg@mail.gmail.com> <CAFZ_MYKnKmM2M%2BpcifxWNcp-pXsJGhb2i7aRo94JK3jqUyaNrw@mail.gmail.com> <CAJ-VmokoURqGmD=U_=p0noeGbLBwTbW63fMfo8Teb7iw3U_W-g@mail.gmail.com> <CAFZ_MYL%2BBV0dPP_hxKw%2BWEz-zz2TxwOdYRTqipPuVa6ZEmvx9A@mail.gmail.com> <CAJ-Vmok-TFHyo0JkX_AucDwRj=JX1qwfc_s7nidFSBnrO_Y-jw@mail.gmail.com> <CAFZ_MYLsa1QHHe=U=9=rjFsoXCfv7DB0LMZLxiZekpACSB9nYg@mail.gmail.com> <CAJ-VmonzuvnqE3MsuOac2QXYeamYbCysMhurBmCRsaCCTTpfnA@mail.gmail.com> <CAFZ_MYKmORxoA9utQujdZOHV=Kmfcw=JagSdBRQjBzbTR4bOGg@mail.gmail.com> <CAJ-VmomLwcAkwKhP0YXykJLjobcuSa_=nA4dtdczN8bgixFSCw@mail.gmail.com> <CAFZ_MY%2BD4XptiR6OaLiENo0iU1gG49abXPJ_JksK4_GuHU47Sw@mail.gmail.com> <CAJ-VmomXVKYodo9Q5Nt1mvWPsOtSHjh5R9RqKcqtrGfrYjh9AA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--20cf307c9e0abc69df04c69403fe
Content-Type: text/plain; charset=ISO-8859-1

On Sun, Aug 5, 2012 at 11:24 AM, Adrian Chadd <adrian.chadd@gmail.com> wrote:
> On 5 August 2012 06:37, PseudoCylon <moonlightakkiy@yahoo.ca> wrote:
>
>>> What's the path through the stack -> driver that leads to
>>> run_tx_free() being called with the driver lock held?
>>
>> This one was easy to spot.
>> USB stack calls run_bulk_tx_callbackN() with driver lock held,
>> ->run_tx_free() ->ieee80211_free_node() then locks node lock.
>
> Ah. Hm, does the USB stack need to hold any locks held?
> That seems like a recipe for disaster for drivers in general, not just wifi.

Not 100% sure, but yes. And, it is unsafe to unlock before all usb
related tasks have done. In this case, we should unlock somewhere
here.
http://fxr.watson.org/fxr/source/dev/usb/wlan/if_run.c#L2805

Caller can specify the lock when setting up usb transfers
http://fxr.watson.org/fxr/source/dev/usb/wlan/if_run.c#L568
If null is passed rather than ptr to mtx, usb stack will use giant lock.
http://fxr.watson.org/fxr/source/dev/usb/usb_transfer.c?im=10#L841

>
>>> And on the flip side, what's the path through the driver -> stack
>>> that's called with the driver lock held? The comlock shouldn't be held
>>> when TX/RX'ing packets up to the stack.
>>
>> I have not found it yet. I've been stuck here, but I'll keep looking
>> for this. Then I can patch usb/150189.
>
> Cool.
>
>>> Hm, maybe we should start a wiki page with all of the net80211/wifi
>>> driver LORs. Do you have wiki.freebsd.org access? If not, create an
>>> account and tell me what username you choose. If you do, create a page
>>> under http://wiki.freebsd.org/WiFi and let's start documenting the
>>> LORs that we see.
>>
>> run(4) calls ieee80211_runtask() because thread is non-sleepable or
>> avoid LOR. I think I can still track back LOR. Also, I saved LOR
>> outputs I saw long time ago. See if I can find them on old hard drive.
>
> Yes. Please, let's start a wiki page with all the wifi stack / driver
> related LORs that you find. I really want to find/fix/document/squish
> them as soon as possible.

Will do.

>
> Also, would you please push a patch to the mailing list for your
> current ieee80211_iterate_nodes() work, so Kim and I can try it out?
> That way we can provide testing and feedback (respectively.)

Attached
iter.patch (with if_print)
iter2.patch (with reverting change functions)
both diff against CURRENT

>
> Thanks for your work with this! I'm glad to have someone else working
> on improving things. (Ray, Bernard and Monthadar included as well. :-)

Grad to help some.


AK

--20cf307c9e0abc69df04c69403fe
Content-Type: application/octet-stream; name="iter.patch"
Content-Disposition: attachment; filename="iter.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h5j912um0

ZGlmZiAtLWdpdCBhL2llZWU4MDIxMV9ub2RlLmMgYi9pZWVlODAyMTFfbm9kZS5jCmluZGV4IDg2
MWZhODUuLmE2MDljYjEgMTAwNjQ0Ci0tLSBhL2llZWU4MDIxMV9ub2RlLmMKKysrIGIvaWVlZTgw
MjExX25vZGUuYwpAQCAtMjE1NiwzMiArMjE1Niw3OSBAQCBpZWVlODAyMTFfbm9kZV90aW1lb3V0
KHZvaWQgKmFyZykKIAkJaWVlZTgwMjExX25vZGVfdGltZW91dCwgaWMpOwogfQogCisvKgorICog
TWF5IGRpcmVjdGx5IGJlIGNhbGxlZCBhbmQgZG8gY3VzdG9taXplZCBpdGVyYXRlIGZ1bmN0aW9u
cy4KKyAqIE9ubHkgcmVxdWlyZW1lbnQgaXMgdG8gZGVjcmVtZW50IGVhY2ggbm9kZSdzIHJlZiBj
b3VudC4KKyAqLwogdm9pZAotaWVlZTgwMjExX2l0ZXJhdGVfbm9kZXMoc3RydWN0IGllZWU4MDIx
MV9ub2RlX3RhYmxlICpudCwKLQlpZWVlODAyMTFfaXRlcl9mdW5jICpmLCB2b2lkICphcmcpCitp
ZWVlODAyMTFfaXRlcmF0ZV9udChzdHJ1Y3QgaWVlZTgwMjExX25vZGVfdGFibGUgKm50LAorICAg
IHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqKm5pX2FyciwgdWludDE2X3QgbWF4X2FpZCkKIHsKIAlz
dHJ1Y3QgaWVlZTgwMjExX25vZGUgKm5pOwogCXVfaW50IGdlbjsKKwlpbnQgaSA9IDA7CiAKIAlJ
RUVFODAyMTFfTk9ERV9JVEVSQVRFX0xPQ0sobnQpOworCUlFRUU4MDIxMV9OT0RFX0xPQ0sobnQp
OworCiAJZ2VuID0gKytudC0+bnRfc2NhbmdlbjsKKwogcmVzdGFydDoKLQlJRUVFODAyMTFfTk9E
RV9MT0NLKG50KTsKIAlUQUlMUV9GT1JFQUNIKG5pLCAmbnQtPm50X25vZGUsIG5pX2xpc3QpIHsK
LQkJaWYgKG5pLT5uaV9zY2FuZ2VuICE9IGdlbikgewotCQkJbmktPm5pX3NjYW5nZW4gPSBnZW47
Ci0JCQkodm9pZCkgaWVlZTgwMjExX3JlZl9ub2RlKG5pKTsKLQkJCUlFRUU4MDIxMV9OT0RFX1VO
TE9DSyhudCk7Ci0JCQkoKmYpKGFyZywgbmkpOwotCQkJaWVlZTgwMjExX2ZyZWVfbm9kZShuaSk7
Ci0JCQlnb3RvIHJlc3RhcnQ7CisJCWlmIChuaS0+bmlfc2NhbmdlbiA9PSBnZW4pCisJCQljb250
aW51ZTsKKworCQlpZiAoaSA+PSBtYXhfYWlkKSB7CisJCQlpZl9wcmludGYobnQtPm50X2ljLT5p
Y19pZnAsCisJCQkgICAgIk5vZGUgYXJyYXkgb3ZlcmZsb3c6IG1heD0ldSIsIG1heF9haWQpOwor
CQkJYnJlYWs7CiAJCX0KKworCQluaS0+bmlfc2NhbmdlbiA9IGdlbjsKKwkJKCoobmlfYXJyICsg
aSsrKSkgPSBpZWVlODAyMTFfcmVmX25vZGUobmkpOworCQlnb3RvIHJlc3RhcnQ7CiAJfQotCUlF
RUU4MDIxMV9OT0RFX1VOTE9DSyhudCk7CiAKKwlJRUVFODAyMTFfTk9ERV9VTkxPQ0sobnQpOwog
CUlFRUU4MDIxMV9OT0RFX0lURVJBVEVfVU5MT0NLKG50KTsKIH0KIAorLyoKKyAqIEp1c3QgYSB3
cmFwcGVyLCBzbyB3ZSBkb24ndCBoYXZlIHRvIGNoYW5nZSBldmVyeSBpZWVlODAyMTFfaXRlcmF0
ZV9ub2RlcygpCisgKiByZWZlcmVuY2UgaW4gdGhlIHNvdXJjZS4KKyAqLwordm9pZAoraWVlZTgw
MjExX2l0ZXJhdGVfbm9kZXMoc3RydWN0IGllZWU4MDIxMV9ub2RlX3RhYmxlICpudCwKKwlpZWVl
ODAyMTFfaXRlcl9mdW5jICpmLCB2b2lkICphcmcpCit7CisJc3RydWN0IGllZWU4MDIxMV9ub2Rl
ICoqbmlfYXJyOworCXN0cnVjdCBpZWVlODAyMTFfbm9kZSAqbmk7CisJdW5zaWduZWQgbG9uZyBz
aXplOworCWludCBpOworCXVpbnQxNl90IG1heF9haWQ7CisKKwltYXhfYWlkID0gVEFJTFFfRklS
U1QoJm50LT5udF9pYy0+aWNfdmFwcyktPml2X21heF9haWQ7CisJc2l6ZSA9IG1heF9haWQgKiBz
aXplb2YoKm5pX2Fycik7CisJbmlfYXJyID0gKHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqKiltYWxs
b2Moc2l6ZSwgTV84MDIxMV9OT0RFLAorCSAgICBNX05PV0FJVCB8IE1fWkVSTyk7CisJaWYgKG5p
X2FyciA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlpZWVlODAyMTFfaXRlcmF0ZV9udChudCwgbmlf
YXJyLCBtYXhfYWlkKTsKKworCWZvciAoaSA9IDA7IGkgPCBtYXhfYWlkOyBpKyspIHsKKwkJbmkg
PSAqKG5pX2FyciArIGkpOworCQlpZiAobmkgPT0gTlVMTCkJLyogZW5kIG9mIHRoZSBsaXN0ICov
CisJCQlicmVhazsKKworCQkoKmYpKGFyZywgbmkpOworCQkvKiBpZWVlODAyMTFfZnJlZV9ub2Rl
KCkgbG9ja3MgYnkgaXRzZWxmICovCisJCWllZWU4MDIxMV9mcmVlX25vZGUobmkpOworCX0KKwor
CWZyZWUobmlfYXJyLCBNXzgwMjExX05PREUpOworfQorCiB2b2lkCiBpZWVlODAyMTFfZHVtcF9u
b2RlKHN0cnVjdCBpZWVlODAyMTFfbm9kZV90YWJsZSAqbnQsIHN0cnVjdCBpZWVlODAyMTFfbm9k
ZSAqbmkpCiB7CmRpZmYgLS1naXQgYS9pZWVlODAyMTFfbm9kZS5oIGIvaWVlZTgwMjExX25vZGUu
aAppbmRleCA4M2IxMDhiLi4xZmJjODkyIDEwMDY0NAotLS0gYS9pZWVlODAyMTFfbm9kZS5oCisr
KyBiL2llZWU4MDIxMV9ub2RlLmgKQEAgLTQzOCw2ICs0MzgsOCBAQCBpbnQJaWVlZTgwMjExX25v
ZGVfZGVsdWNhc3RrZXkoc3RydWN0IGllZWU4MDIxMV9ub2RlICopOwogdm9pZAlpZWVlODAyMTFf
bm9kZV90aW1lb3V0KHZvaWQgKmFyZyk7CiAKIHR5cGVkZWYgdm9pZCBpZWVlODAyMTFfaXRlcl9m
dW5jKHZvaWQgKiwgc3RydWN0IGllZWU4MDIxMV9ub2RlICopOwordm9pZAlpZWVlODAyMTFfaXRl
cmF0ZV9udChzdHJ1Y3QgaWVlZTgwMjExX25vZGVfdGFibGUgKiwKKwkJc3RydWN0IGllZWU4MDIx
MV9ub2RlICoqLCB1aW50MTZfdCk7CiB2b2lkCWllZWU4MDIxMV9pdGVyYXRlX25vZGVzKHN0cnVj
dCBpZWVlODAyMTFfbm9kZV90YWJsZSAqLAogCQlpZWVlODAyMTFfaXRlcl9mdW5jICosIHZvaWQg
Kik7CiAK
--20cf307c9e0abc69df04c69403fe
Content-Type: application/octet-stream; name="iter2.patch"
Content-Disposition: attachment; filename="iter2.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h5j912v41

ZGlmZiAtLWdpdCBhL2llZWU4MDIxMV9ub2RlLmMgYi9pZWVlODAyMTFfbm9kZS5jCmluZGV4IDg2
MWZhODUuLmExNWZjOTEgMTAwNjQ0Ci0tLSBhL2llZWU4MDIxMV9ub2RlLmMKKysrIGIvaWVlZTgw
MjExX25vZGUuYwpAQCAtMjE1NiwzMCArMjE1Niw5MyBAQCBpZWVlODAyMTFfbm9kZV90aW1lb3V0
KHZvaWQgKmFyZykKIAkJaWVlZTgwMjExX25vZGVfdGltZW91dCwgaWMpOwogfQogCi12b2lkCi1p
ZWVlODAyMTFfaXRlcmF0ZV9ub2RlcyhzdHJ1Y3QgaWVlZTgwMjExX25vZGVfdGFibGUgKm50LAot
CWllZWU4MDIxMV9pdGVyX2Z1bmMgKmYsIHZvaWQgKmFyZykKKy8qCisgKiBNYXkgZGlyZWN0bHkg
YmUgY2FsbGVkIGFuZCBkbyBjdXN0b21pemVkIGl0ZXJhdGUgZnVuY3Rpb25zLgorICogT25seSBy
ZXF1aXJlbWVudCBpcyB0byBkZWNyZW1lbnQgZWFjaCBub2RlJ3MgcmVmIGNvdW50LgorICovCitp
bnQKK2llZWU4MDIxMV9pdGVyYXRlX250KHN0cnVjdCBpZWVlODAyMTFfbm9kZV90YWJsZSAqbnQs
CisgICAgc3RydWN0IGllZWU4MDIxMV9ub2RlICoqbmlfYXJyLCB1aW50MTZfdCBtYXhfYWlkKQog
ewogCXN0cnVjdCBpZWVlODAyMTFfbm9kZSAqbmk7CiAJdV9pbnQgZ2VuOworCWludCBpLCByZXQ7
CiAKIAlJRUVFODAyMTFfTk9ERV9JVEVSQVRFX0xPQ0sobnQpOworCUlFRUU4MDIxMV9OT0RFX0xP
Q0sobnQpOworCiAJZ2VuID0gKytudC0+bnRfc2NhbmdlbjsKKwlpID0gcmV0ID0gMDsKKwogcmVz
dGFydDoKLQlJRUVFODAyMTFfTk9ERV9MT0NLKG50KTsKIAlUQUlMUV9GT1JFQUNIKG5pLCAmbnQt
Pm50X25vZGUsIG5pX2xpc3QpIHsKLQkJaWYgKG5pLT5uaV9zY2FuZ2VuICE9IGdlbikgewotCQkJ
bmktPm5pX3NjYW5nZW4gPSBnZW47Ci0JCQkodm9pZCkgaWVlZTgwMjExX3JlZl9ub2RlKG5pKTsK
LQkJCUlFRUU4MDIxMV9OT0RFX1VOTE9DSyhudCk7Ci0JCQkoKmYpKGFyZywgbmkpOworCQlpZiAo
bmktPm5pX3NjYW5nZW4gPT0gZ2VuKQorCQkJY29udGludWU7CisKKwkJaWYgKGkgPj0gbWF4X2Fp
ZCkgeworCQkJcmV0ID0gRTJCSUc7CisJCQlpZl9wcmludGYobnQtPm50X2ljLT5pY19pZnAsCisJ
CQkgICAgIk5vZGUgYXJyYXkgb3ZlcmZsb3c6IG1heD0ldSIsIG1heF9haWQpOworCQkJYnJlYWs7
CisJCX0KKworCQluaS0+bmlfc2NhbmdlbiA9IGdlbjsKKwkJKCoobmlfYXJyICsgaSsrKSkgPSBp
ZWVlODAyMTFfcmVmX25vZGUobmkpOworCQlnb3RvIHJlc3RhcnQ7CisJfQorCisJaWYgKHJldCkg
eworCQludC0+bnRfc2Nhbmdlbi0tOworCQlmb3IgKGkgPSAwOyBpIDwgbWF4X2FpZDsgaSsrKSB7
CisJCQluaSA9ICoobmlfYXJyICsgaSk7CisJCQluaS0+bmlfc2Nhbmdlbi0tOworCQkJLyogbm9k
ZSBsb2NrIGlzIHJlY3Vyc2l2ZSAqLwogCQkJaWVlZTgwMjExX2ZyZWVfbm9kZShuaSk7Ci0JCQln
b3RvIHJlc3RhcnQ7CiAJCX0KKwkJZnJlZShuaV9hcnIsIE1fODAyMTFfTk9ERSk7CiAJfQotCUlF
RUU4MDIxMV9OT0RFX1VOTE9DSyhudCk7CiAKKwlJRUVFODAyMTFfTk9ERV9VTkxPQ0sobnQpOwog
CUlFRUU4MDIxMV9OT0RFX0lURVJBVEVfVU5MT0NLKG50KTsKKworCXJldHVybiAocmV0KTsKK30K
KworLyoKKyAqIEp1c3QgYSB3cmFwcGVyLCBzbyB3ZSBkb24ndCBoYXZlIHRvIGNoYW5nZSBldmVy
eSBpZWVlODAyMTFfaXRlcmF0ZV9ub2RlcygpCisgKiByZWZlcmVuY2UgaW4gdGhlIHNvdXJjZS4K
KyAqLwordm9pZAoraWVlZTgwMjExX2l0ZXJhdGVfbm9kZXMoc3RydWN0IGllZWU4MDIxMV9ub2Rl
X3RhYmxlICpudCwKKwlpZWVlODAyMTFfaXRlcl9mdW5jICpmLCB2b2lkICphcmcpCit7CisJc3Ry
dWN0IGllZWU4MDIxMV9ub2RlICoqbmlfYXJyOworCXN0cnVjdCBpZWVlODAyMTFfbm9kZSAqbmk7
CisJdW5zaWduZWQgbG9uZyBzaXplOworCWludCBpOworCXVpbnQxNl90IG1heF9haWQ7CisKKwlt
YXhfYWlkID0gVEFJTFFfRklSU1QoJm50LT5udF9pYy0+aWNfdmFwcyktPml2X21heF9haWQ7CisJ
c2l6ZSA9IG1heF9haWQgKiBzaXplb2YoKm5pX2Fycik7CisJbmlfYXJyID0gKHN0cnVjdCBpZWVl
ODAyMTFfbm9kZSAqKiltYWxsb2Moc2l6ZSwgTV84MDIxMV9OT0RFLAorCSAgICBNX05PV0FJVCB8
IE1fWkVSTyk7CisJaWYgKG5pX2FyciA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlpZiAoIWllZWU4
MDIxMV9pdGVyYXRlX250KG50LCBuaV9hcnIsIG1heF9haWQpKQorCQlyZXR1cm47CisKKwlmb3Ig
KGkgPSAwOyBpIDwgbWF4X2FpZDsgaSsrKSB7CisJCW5pID0gKihuaV9hcnIgKyBpKTsKKwkJaWYg
KG5pID09IE5VTEwpCS8qIGVuZCBvZiB0aGUgbGlzdCAqLworCQkJYnJlYWs7CisKKwkJKCpmKShh
cmcsIG5pKTsKKwkJLyogaWVlZTgwMjExX2ZyZWVfbm9kZSgpIGxvY2tzIGJ5IGl0c2VsZiAqLwor
CQlpZWVlODAyMTFfZnJlZV9ub2RlKG5pKTsKKwl9CisKKwlmcmVlKG5pX2FyciwgTV84MDIxMV9O
T0RFKTsKIH0KIAogdm9pZApkaWZmIC0tZ2l0IGEvaWVlZTgwMjExX25vZGUuaCBiL2llZWU4MDIx
MV9ub2RlLmgKaW5kZXggODNiMTA4Yi4uNDhlYWUyZCAxMDA2NDQKLS0tIGEvaWVlZTgwMjExX25v
ZGUuaAorKysgYi9pZWVlODAyMTFfbm9kZS5oCkBAIC00MzgsNiArNDM4LDggQEAgaW50CWllZWU4
MDIxMV9ub2RlX2RlbHVjYXN0a2V5KHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqKTsKIHZvaWQJaWVl
ZTgwMjExX25vZGVfdGltZW91dCh2b2lkICphcmcpOwogCiB0eXBlZGVmIHZvaWQgaWVlZTgwMjEx
X2l0ZXJfZnVuYyh2b2lkICosIHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqKTsKK2ludAlpZWVlODAy
MTFfaXRlcmF0ZV9udChzdHJ1Y3QgaWVlZTgwMjExX25vZGVfdGFibGUgKiwKKwkJc3RydWN0IGll
ZWU4MDIxMV9ub2RlICoqLCB1aW50MTZfdCk7CiB2b2lkCWllZWU4MDIxMV9pdGVyYXRlX25vZGVz
KHN0cnVjdCBpZWVlODAyMTFfbm9kZV90YWJsZSAqLAogCQlpZWVlODAyMTFfaXRlcl9mdW5jICos
IHZvaWQgKik7CiAK
--20cf307c9e0abc69df04c69403fe--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFZ_MY%2BmE_%2B2QHB=iVYP6CA_96pt8d=9PNYb2_Y3s6x%2BW2HUyw>