Search Linux Wireless

Re: Specifing rate control algorithm?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 11, 2007 at 04:04:30PM +0100, Andy Green wrote:

> Could I possibly be talking about this?

> http://marc.info/?l=linux-wireless&m=117882282325836&w=2
> 
> You understand re-reading this that when he talks about "You submit one
> Tx request to the [']hardware['] and it then performs all the retries,
> fallbacks, etc without host interaction over overhead." this is stuff in
> the closed-source firmware?  Aka "binary blob" with restrictive license?

So? I don't see what this has to do with mac80211 rate control algorithm
selection. This is about 802.11 functionality that has very strict
timing requirements (SIFS between frame and ack and then re-try if no
ack received). That is (I would say, has to, in most cases) be done
somewhere else than on the host CPU. In other words, this is something
that really needs to be in the wlan hardware or firmware.

> Is it really true this is a feature of hardware and not closed-source
> firmware?  Because if I was designing such a thing - and I have designed
> similarly complex silicon - damnned if I would allocate pure hardware to
> it.  Since the device already has a concept of firmware, as we can all
> see, I would instead implement these multistage actions with the
> firmware.  Which happens to be closed source by Intel's choice.

I do not know ipw3945 design, but I do know other wlan chipsets that do
indeed take care of TX rate control between retries of the _same frame_
in hardware. No firmware involved there. Then again, I really do not
follow this logic of firmware being some horrible thing that simply
cannot be allowed to do anything. In this particular case, this really
has to be done at the wlan chip, not at the host CPU due to timing
requirements.

> AIUI the proposal is to tag packets with lists of rates to retry at.
> But if the aimed-for and typical case is that you get through on the
> first try, how interesting is it really to migrate the retry action to a
> closed-source and per-vendor (or per-device) implementation instead of
> coming through the rate selection action in the stack.

Being able to vary the TX rate on the SIFS-retries can produce huge
improvements to rate adaption. I see this a very much valid reason for
providing an alternative rate control algorithm that can take advantage
of the hardware/firmware features.

> Stack == mac80211.  No: what James is talking about, as I quoted above,
> is a firmware implementation of "per-packet rate-list automatic retry"
> that requires special support in mac80211.

I can only say that we see this quite differently and all I've seen from
James so far on this topic makes sense and should be supported in
mac80211. Firmware implementation does _not_ replace the mac80211 rate
control algorithm, but modified mac80211 rate control algorithm can be
used to improve rate adaption in this case and such modifications would
not benefit (or be possible) with some other wlan chipsets. Thus, need
for multiple mac80211 rate control algorithms and benefit from drivers
being able to propose which one to use by default.

> Let me ask: is it really so impossible to create a generic "nearly
> optimal" algorithm for rate selection in the stack that you have to
> offload the task to $DRIVER?  What is it about the awesome software
> running in $DRIVER or $DEVICE that can do a better job than mac80211
> ever can?

Yes, in practice, it is more or loess impossible with the timing
requirements on 802.11 retries. This is not about driver vs. mac80211,
this is about the timing differences between wlan chip vs. host CPU. I
don't want to implement all rate control stuff in hardware/firmware, but
the part that involves first couple of retransmission of frames that are
not acked within SIFS really falls for the wlan hardware (including
firmware, if used in the design) category, not host CPU, if aiming for
the best possible rate control.

-- 
Jouni Malinen                                            PGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux