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 > > Hi, > > I have replaced sleeping on conditional variable inside scan task > with scan_curchan task rescheduling (so this problem should be fixed now). > > For everyone, who wishes to test: apply the attached patch > (merged from D5133, D5137, D5139, D5140, D5142, D5143, D5145, D5147, D5148 > 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 r295834M/295835:1100099: Sat Feb 20 04:51:08 PST 2016 r...@g1-252.catwhisker.org:/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 r295834M/295835:1100099: Sat Feb 20 11:11:03 PST 2016 r...@g1-252.catwhisker.org:/common/S3/obj/usr/src/sys/CANARY amd64 > Thanks! Thank you! :-) Peace, david -- David H. Wolfskill da...@catwhisker.org Those who would murder in the name of God or prophet are blasphemous cowards. See http://www.catwhisker.org/~david/publickey.gpg for my public key.
Description: PGP signature