The skb is usually started by a padding which allows the protocols in the
network stack to add their headers in front of the payload. The skb can be
reallocated in case the preallocated padding is not large enough. This can for
example happen in the function __skb_cow which will check the requested extra
headroom and allocate more buffer when the requested headroom is bigger than
the available one. The extra buffer is aligned again to the multiple of the
NET_SKB_PAD of the target architecture.
The macro used to create the multiple of the NET_SKB_PAD is written in a way
which allows only values power two as alignment parameter. The currently used
value of 48 bytes can not be written as n ** 2 but as 2 ** 4 + 2 ** 5. The
extra buffer is therefore not always the multiple of 48 but can be 16, 64, 80,
128, 144 and so on. The generated values are also not monotonic (48 requested
bytes are mapped to 80 allocated bytes and 49 requested bytes are mapped to 64
allocated bytes).
These unexpected small values result in more reallocations of the buffer. This
was noticed prominently during tests between two QCA9558 720 MHz devices which
were connected via ethernet to PCs and had a HT40 802.11n 3x3 link between each
other. The throughput PC-to-PC during iperf TCP runs increased reliable from
186 Mibit/s to 214 Mibit/s in one direction and from 195 Mibit/s to 220 Mibit/s
in the other direction. This is a performance increase of ~14% just by reducing
the amount of reallocations.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 37948
Currently, the module causes an oops at least on rt5350. These patches
have been accepted upstream at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
SVN-Revision: 37931
BCM5365 (and probably other older variants) use a different phy id, so
the phy driver never attached for them.
Fix this by adding the appropriate phy id to the fixup and the phy
driver.
Reported-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 37906
b53_no_ops has no elements and b53_port_ops has one element, this makes
the code access some random memory when trying to access the mib
counter functions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37895
Every device I connect to the USB port is detected as 2-1, not 1-1.
So adjust the default setting accordingly.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 37882
When the squashfs and jffs2 images are generated
in the same turn, the compressed kernel images
are generated twice with the same parameters.
Move compressed kernel generation into a separate
phase to avoid that.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37881
The myloader partition parser code uses ifdef wrappers
to make the code usable on kernels below version 3.2.
All targets are using kernel 3.3 at least so the wraper
is not needed. Remove that.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37880
Those are not needed since we are generating the
initramfs images along with the others.
Remove the variables and use the template names
directly.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37876
Initramfs images are not generated for profiles which
are using the squashfs-only template. Add the missing
'Image/Build/Template/squashfs-only/initramfs' to fix
that.
Also, 'Image/Build/Cameo933x/initramfs' uses wrong
parameters for 'MkuImageLzma/initramfs' due to a
misplaced commma. Remove that to fix the generated
initramfs images.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37871
Taken from the 'alix2: update to LINUX_VERSION 3.10.9'
patch: http://patchwork.openwrt.org/patch/3971/.
Russell says in the original patch:
"Initial whack at updating alix2 to a current kernel. It builds
and runs without problems so far. I copied target/linux/config-3.8,
target/linux/x86/alix2/config-3.8, and target/linux/patches-3.8 to
their 3.10 equivalents and tweaked until it built. The patches
required no changes."
Signed-off-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37869
Taken from the 'alix2: update to LINUX_VERSION 3.10.9'
patch: http://patchwork.openwrt.org/patch/3971/.
Russell says in the original patch:
"Initial whack at updating alix2 to a current kernel. It builds
and runs without problems so far. I copied target/linux/config-3.8,
target/linux/x86/alix2/config-3.8, and target/linux/patches-3.8 to
their 3.10 equivalents and tweaked until it built. The patches
required no changes."
The current patch contains additional configuration tweaks.
Signed-off-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37868
Add kernel configuration and patches for Linux 3.10.
Taken from the 'alix2: update to LINUX_VERSION 3.10.9'
patch: http://patchwork.openwrt.org/patch/3971/.
Russell says in the original patch:
"Initial whack at updating alix2 to a current kernel. It builds
and runs without problems so far. I copied target/linux/config-3.8,
target/linux/x86/alix2/config-3.8, and target/linux/patches-3.8 to
their 3.10 equivalents and tweaked until it built. The patches
required no changes."
The current patch contains additional configuration tweaks,
and the kernel patches were refreshed.
Signed-off-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37867
The 'Warning: unable to open an initial console' message
indicates an error in the rootfs. Remove the patch which
hides the warning.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37848
Linux expects that the /dev/console node is present
in the rootfs image. Create the node in initramfs,
in order to make std{in,out,err} usable even in early
init process.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37846
Apparently registering usb device on newest trunk causes
this AP not to boot...
Since there is no USB socket in that device anyway this
can be simply removed (and device boots then no problem).
[juhosg:
- tweak subject line and description,
- remove #include "dev-usb.h",
- remove 'select ATH79_DEV_USB' from Kconfig]
Signed-off-by: Jacek Kikiewicz <jaceq@aol.pl>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37844
The USB controller is sitting on the PCI bus and
without the package the EHCI controller is not
usable.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37835