Date: Sat, 20 Feb 2016 11:40:33 -0800 From: David Wolfskill <david@catwhisker.org> To: Andriy Voskoboinyk <s3erios@gmail.com> Cc: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org> Subject: Re: software scan fix - please test (Was: why we can't use the net80211 taskqueue for everything) Message-ID: <20160220194033.GG65475@albert.catwhisker.org> In-Reply-To: <op.yc4mcrg5iew4ia@localhost> References: <CAJ-VmoneUBz4Vt3hFj8S4G_o8ptd3Z-NL5%2B6HuG33C3C_x-2jQ@mail.gmail.com> <op.yc4mcrg5iew4ia@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
--oXNgvKVxGWJ0RPMJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Feb 20, 2016 at 12:06:17PM +0200, Andriy Voskoboinyk wrote: > > hi, > > > > andriy has a few reviews out that tidy up some things, which I'd reply > > to, but .. reviews is offline. So, here's the 30 second version: > > > > * the net80211 taskqueue runs the software scan engine, and the > > software scan engine currently sleeps whilst it's running. > > > > This means that if you put newstate, deferred transmit, etc into the > > net80211 taskqueue, then it just won't run during scan. > > > > The net80211 software scan thing should be modified to not sleep > > whilst it's waiting for scan results and instead just kick off another > > timer event to finish that part of the loop. Then yes, we can just > > migrate * to the net80211 task queue and use it for all serialisation > > of a wifi driver. > > > > (And yes, I'd like to see that done ASAP..) > > > > Thanks, > > > > > > -adrian >=20 > Hi, >=20 > I have replaced sleeping on conditional variable inside scan task > with scan_curchan task rescheduling (so this problem should be fixed now). >=20 > For everyone, who wishes to test: apply the attached patch > (merged from D5133, D5137, D5139, D5140, D5142, D5143, D5145, D5147, D514= 8 =20 > and D5152) > and rebuild + install the kernel. Scan should work as before. > .... OK; I tried it (details of environment & method below); so far, I'm not seeing a noticable difference in behavior. (That said: I normally run head only when I'm specifically testing something or -- rather more often -- when I'm doing a daily src upgrade in-place at home.) And usually, home doesn't present a problem -- it's work that does that (probably some timing issues with authentication catalyzing wpa_supplicant to blacklist successive APs as they're tried.) As for details: this was on my laptop, after "cloning" slice 4 (fresh-built head from this morning) to slice 3), then: Script started on Sat Feb 20 10:50:35 2016 command: svn patch /tmp/patch-net80211-scan-sw.diff /S3/usr/src U /S3/usr/src/sys/net80211/ieee80211_output.c U /S3/usr/src/sys/net80211/ieee80211_scan.c U /S3/usr/src/sys/net80211/ieee80211_scan_sw.c Script done on Sat Feb 20 10:50:35 2016 Script started on Sat Feb 20 10:50:35 2016 command: svn info /S3/usr/src Path: /S3/usr/src Working Copy Root Path: /S3/usr/src URL: file:///svn/freebsd/src/base/head Relative URL: ^/head Repository Root: file:///svn/freebsd/src/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 295835 Node Kind: directory Schedule: normal Last Changed Author: skra Last Changed Rev: 295834 Last Changed Date: 2016-02-19 23:45:21 -0800 (Fri, 19 Feb 2016) Script done on Sat Feb 20 10:50:35 2016 Starting "uname -a" output: FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #339 r2958= 34M/295835:1100099: Sat Feb 20 04:51:08 PST 2016 root@g1-252.catwhisker= =2Eorg:/common/S4/obj/usr/src/sys/CANARY amd64 Ending "uname -a" output: FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #340 r2958= 34M/295835:1100099: Sat Feb 20 11:11:03 PST 2016 root@g1-252.catwhisker= =2Eorg:/common/S3/obj/usr/src/sys/CANARY amd64 > Thanks! Thank you! :-) Peace, david --=20 David H. Wolfskill david@catwhisker.org Those who would murder in the name of God or prophet are blasphemous coward= s. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --oXNgvKVxGWJ0RPMJ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAEBCgBmBQJWyMExXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRDQ0I3Q0VGOTE3QTgwMUY0MzA2NEQ3N0Ix NTM5Q0M0MEEwNDlFRTE3AAoJEBU5zECgSe4XhVEH/ReRdiw4EC8PuodzDFN8ItQo U6YKw7+ohX/3utjzvfm0jlOyTonwrdgzck57RFaYhiSOnAc32cQt+CPptOnM+3Ll Gr0VNG11OfyZ2Gm0DKXCxcXgW+sWwVdXVe+xOO/7OtiC0hkOk30ab5S5RKJo/sug Ta2iTQSuKKYiw3ud7IM2JlpvYjEIvRqCLYjThcboqMRdr4chaq1wU0XoZzsEb06i MdMtKSNqyK7ZDSnmdQzAOC5Amxbcr0pt3h/4298uyNQECMqSjY+6xwU++ddApKNo 7SC351/nk/3Eb/rdA5zRD3AV7V6wY3cpIyG34qGEJJ2xAY03Cuzdp6cdvSyFJME= =RgtK -----END PGP SIGNATURE----- --oXNgvKVxGWJ0RPMJ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160220194033.GG65475>