On Mon, Nov 16, 2015 at 11:56:27AM +0100, Martin Pieuchot wrote:
> I'm not saying that's better.  I'm saying that the actual 11n driver/
> stack glue has been designed with iwn(4)'s behavior in mind.  So I
> think that's one argument more to do the same with iwm(4)...  At least
> at this stage.

But that's true for all of net80211, not just the 11n code.
net80211 assumes drivers can do anything in interrupt context.
It was written for early 11a/b/g hardware running in single core machines.
Current firmware based hardware essentially assumes the host OS has
interrupt threads which can sleep (like almost everyone else except us...)

This problem also exists with USB devices, and also with iwn(4).
iwn(4) just cheats around this limitation in a different way,
and not just in the block ack cases.

I won't mind switching iwm to iwn's behaviour but the diff I sent
to do this was not OK'd. I'd rather work on one complex problem at
a time so as long as iwm's behaviour doesn't cause unexpected problems
with 11n I'd rather work on that later. In my testing it works.

Eventually we will probably try moving net80211 processing into task
threads anyway, if not only for SMP. FreeBSD has already done that.

Reply via email to