From: Ben Hutchings Date: Thu, 17 May 2012 17:40:54 +0000 (+0100) Subject: sfc: Simplify TSO header buffer allocation X-Git-Tag: omap-for-v3.7-rc1/fixes-cpufreq-signed~47^2~277^2~13 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7251a9ce936f1006fbfdef63dbe42ae5e0fee7c;p=pandora-kernel.git sfc: Simplify TSO header buffer allocation TSO header buffers contain a control structure immediately followed by the packet headers, and are kept on a free list when not in use. This complicates buffer management and tends to result in cache read misses when we recycle such buffers (particularly if DMA-coherent memory requires caches to be disabled). Replace the free list with a simple mapping by descriptor index. We know that there is always a payload descriptor between any two descriptors with TSO header buffers, so we can allocate only one such buffer for each two descriptors. While we're at it, use a standard error code for allocation failure, not -1. Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed