[RFC/RFT 3/7] ath10k: replace send_head() with tx_sg()

Kalle Valo kvalo at qca.qualcomm.com
Mon Feb 24 06:46:20 EST 2014

Michal Kazior <michal.kazior at tieto.com> writes:

> On 19 February 2014 15:18, Kalle Valo <kvalo at qca.qualcomm.com> wrote:
>> Michal Kazior <michal.kazior at tieto.com> writes:
>>> It doesn't really make any sense to keep it there anyway because
>>> sg_item is used as means to pass a complex function argument to
>>> sg_tx().
>> If we used skbs we would just give a list/queue of them and no need to
>> have any extra structs.
> Managing skbs would incur extra overhead. Skbs are also less flexible
> and probably unnecessary (at least at this point).

As a rule of thumb we should avoid reinventing things on our own and use
Linux infrastructure as much possible. There are a lot of benefits from
using sk_buffs.

> Think about the qos workaround removal - you have to submit htt tx
> descriptor frame prefetch in 2 parts instead of 1 (to make it appear
> to FW as there's no QoS field). With skbs you have to allocate another
> skb, copy part of MSDU into it... aaand you've just traded a single
> memmove() for dev_alloc_skb(), skb_put() and a memcpy().

I'm missing a lot of details here (and I can't check from code right
now), but are you saying that skb allocation is too slow? In that case
we should fix the skb allocation instead of working it around in ath10k.

But this is all hand waving for the future, not really something I see a
problem with this patchset.

Kalle Valo

More information about the ath10k mailing list