You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/generic/patches-3.6
Felix Fietkau 8eb57d0cd7 kernel: align the skb padding to power of two
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
11 years ago
..
001-usb-host-ehci-platform-BUG_ON-to-WARN_ON-on-probe.patch generic/3.6: add platform specific power callbacks to {e,o}hci_platform drivers 12 years ago
002-usb-host-ohci-platform-BUG_ON-to-WARN_ON-on-probe.patch generic/3.6: add platform specific power callbacks to {e,o}hci_platform drivers 12 years ago
003-usb-host-ehci-platform-add-platform-specific-power-c.patch generic/3.6: add platform specific power callbacks to {e,o}hci_platform drivers 12 years ago
004-usb-host-ohci-platform-add-platform-specific-power-c.patch generic/3.6: add platform specific power callbacks to {e,o}hci_platform drivers 12 years ago
007-hso-Earlier-catch-of-error-condition.patch kernel: fix arch-dependent bug in hso module 11 years ago
008-hso-Fix-stack-corruption-on-some-architectures.patch kernel: fix arch-dependent bug in hso module 11 years ago
010-mtd_mp25p80_add_gd25q32_gd25q64.patch linux/3.6: refresh patches 12 years ago
020-ssb_update.patch kernel: update bcma and ssb to version from wireless-testing/master tag master-2013-07-18 11 years ago
025-bcma_backport.patch kernel: update bcma and ssb to version from wireless-testing/master tag master-2013-07-18 11 years ago
026-bcma_pcie_up_down.patch kernel: fix DMA error when BCM4331 is connected to BCM4706 11 years ago
060-hso_devices.patch kernel: update linux 3.6 to 3.6.5 12 years ago
060-tcp-ecn-dont-delay-ACKS-after-CE.patch make all 3.6 patches apply and build 12 years ago
061-arm_xz_decompressor_build_fix.patch ARM: fix XZ decompressor stub build failure on strstr() 12 years ago
062-mips_decompressor_build_fix.patch generic: refresh 3.6 patches 12 years ago
065-8139cp-fixes.patch generic: fix 8139cp patch for 3.6 12 years ago
084-perf_mkstemp_build_fix.patch generic: refresh patches 12 years ago
084-x86_fix_perf_uclibc_build.patch generic: refresh patches 12 years ago
090-CVE-2013-1763.patch kernel: fix CVE-2013-1763 in older kernels 11 years ago
100-overlayfs.patch make all 3.6 patches apply and build 12 years ago
102-ehci_hcd_ignore_oc.patch make all 3.6 patches apply and build 12 years ago
110-fix_mtd_include.patch linux 3.6 support (work in progress) 12 years ago
131-atm-fixes.patch Update linux-atm fixes to reflect the final upstream pull request 12 years ago
132-solos-dma.patch kernel: add solos-pci patches from 3.8 for new hardware 12 years ago
200-fix_localversion.patch make all 3.6 patches apply and build 12 years ago
201-extra_optimization.patch build: unify target independent optimization options 11 years ago
202-reduce_module_size.patch make all 3.6 patches apply and build 12 years ago
210-darwin_scripts_include.patch kernel: patch in a working copy of elf.h instead of using relative path based hackery in #include statements 12 years ago
211-stddef_include.patch make all 3.6 patches apply and build 12 years ago
212-byteshift_portability.patch linux-3.6: fix portability of some includes files in tools/ used on the host 12 years ago
220-module_exports.patch kernel: fix stripping symbol exports 12 years ago
230-openwrt_lzma_options.patch linux 3.6 support (work in progress) 12 years ago
250-netfilter_depends.patch make all 3.6 patches apply and build 12 years ago
251-sound_kconfig.patch kernel: make SND_COMPRESS_OFFLOAD symbol visible for selection (#13193) 11 years ago
252-mv_cesa_depends.patch make all 3.6 patches apply and build 12 years ago
253-ssb_b43_default_on.patch linux 3.6 support (work in progress) 12 years ago
254-textsearch_kconfig_hacks.patch make all 3.6 patches apply and build 12 years ago
255-lib80211_kconfig_hacks.patch make all 3.6 patches apply and build 12 years ago
256-crypto_add_kconfig_prompts.patch linux 3.6 support (work in progress) 12 years ago
257-wireless_ext_kconfig_hack.patch linux 3.6 support (work in progress) 12 years ago
258-netfilter_netlink_kconfig_hack.patch linux 3.6 support (work in progress) 12 years ago
259-compressor_kconfig_hack.patch kernel: make zlib and lzo modules selectable 11 years ago
260-move_bcm963xx_tag.patch Revert "target specific patches have nothing to do in generic.." 12 years ago
270-regmap_dynamic.patch kernel: set regmap-core module license 11 years ago
300-mips_expose_boot_raw.patch make all 3.6 patches apply and build 12 years ago
301-mips_image_cmdline_hack.patch make all 3.6 patches apply and build 12 years ago
302-mips_no_branch_likely.patch mips: use -mno-branch-likely for kernel and userspace, saves ~11k kernel size after lzma and ~12k squashfs size in the default configuration 12 years ago
303-mips_fix_kexec.patch linux 3.6 support (work in progress) 12 years ago
304-mips_disable_fpu.patch make all 3.6 patches apply and build 12 years ago
305-mips_module_reloc.patch mips: use -mno-branch-likely for kernel and userspace, saves ~11k kernel size after lzma and ~12k squashfs size in the default configuration 12 years ago
306-mips_mem_functions_performance.patch linux 3.6 support (work in progress) 12 years ago
308-mips-show-correct-cpu-name-for-24KEc.patch make all 3.6 patches apply and build 12 years ago
309-mips_fuse_workaround.patch linux 3.6 support (work in progress) 12 years ago
310-arm_module_unresolved_weak_sym.patch linux 3.6 support (work in progress) 12 years ago
320-ppc4xx_optimization.patch make all 3.6 patches apply and build 12 years ago
321-powerpc_crtsavres_prereq.patch make all 3.6 patches apply and build 12 years ago
322-ppc4xx-crypto-compile-fix.patch linux 3.6 support (work in progress) 12 years ago
330-mips-add-crash-and-kdump-support.patch make all 3.6 patches apply and build 12 years ago
331-mips-kexec-enhanche-the-support.patch generic: fix build failure in MIPS kexec code if SMP is enabled 12 years ago
332-mips-kexec-init-the-arguments-for-the-new-kernel-image.patch generic: fix build failure in MIPS kexec code if SMP is enabled 12 years ago
333-mips-kexec-get-kernel-parameters-from-kexec-tools.patch generic: fix build failure in MIPS kexec code if SMP is enabled 12 years ago
334-mips-fix-compiling-failure-of-relocate_kernel.patch linux 3.6 support (work in progress) 12 years ago
335-mips-kexec-cleanup-kexec-tools-parameter-handling.patch generic: fix build failure in MIPS kexec code if SMP is enabled 12 years ago
340-module_alloc_size_check.patch kernel: update linux 3.6 to 3.6.8 12 years ago
400-rootfs_split.patch linux: generic: fix split_squashfs for 3.6 12 years ago
401-partial_eraseblock_write.patch make all 3.6 patches apply and build 12 years ago
410-mtd_info_move_forward_decl.patch linux 3.6 support (work in progress) 12 years ago
420-redboot_space.patch make all 3.6 patches apply and build 12 years ago
430-mtd_myloader_partition_parser.patch linux 3.6 support (work in progress) 12 years ago
440-block2mtd_init.patch make all 3.6 patches apply and build 12 years ago
441-block2mtd_refresh.patch kernel: fixing a potential deadlock in block2mtd for kernel 3.6/3.8/3.9 11 years ago
442-block2mtd_probe.patch make all 3.6 patches apply and build 12 years ago
450-mtd_plat_nand_chip_fixup.patch make all 3.6 patches apply and build 12 years ago
451-mtd_fix_nand_correct_data_return_code.patch linux 3.6 support (work in progress) 12 years ago
460-cfi_cmdset_0002_no_erase_suspend.patch make all 3.6 patches apply and build 12 years ago
470-mtd_m25p80_add_pm25lv_flash_support.patch linux/3.6: refresh patches 12 years ago
473-mtd_m25p80_add_w25q128.patch linux/3.6: refresh patches 12 years ago
474-mtd_mp25p80_add_pm25lq032.patch kernel: add missing bcma defines and header file for bcrmfmac 11 years ago
475-mtd_cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch make all 3.6 patches apply and build 12 years ago
476-mtd-m25p80-allow-to-disable-small-sector-erase.patch kernel: add missing bcma defines and header file for bcrmfmac 11 years ago
477-mtd-m25p80-add-support-for-the-EON-EN25Q64-chip.patch make all 3.6 patches apply and build 12 years ago
478-mtd-partial_eraseblock_unlock.patch make all 3.6 patches apply and build 12 years ago
500-yaffs-Kbuild-integration.patch generic: rename yaffs patches 12 years ago
501-yaffs-Fix-directory-unlinking-in-yaffs1-mode.patch generic: replace yaffs symlink fix patch 12 years ago
502-yaffs-Switch-from-semaphores-to-mutexes.patch generic: replace yaffs mutex_fix patch 12 years ago
503-yaffs-Replace-yaffs_dir_llseek-with-Linux-generic-ll.patch generic: replace yaffs-2.6.39 patch 12 years ago
504-yaffs-Mods-for-Linux-3.0-and-fix-a-typo.patch generic: replace yaffs-2.6.39 patch 12 years ago
505-yaffs-3.2-use-MTD_OPS_AUTO_OOB.patch generic: split yaffs-3.2-fix patch 12 years ago
506-yaffs-3.2-dont-use-i_nlink-directly.patch generic: split yaffs-3.2-fix patch 12 years ago
507-yaffs-3.3_fix.patch generic: split yaffs-3.2-fix patch 12 years ago
508-yaffs-3.3-use-mtd_-helpers.patch generic: use mtd_* helpers in the yaffs code 12 years ago
509-yaffs-3.4-add-underscore-to-mtd-internal-names.patch generic: make yaffs work on 3.6 12 years ago
510-yaffs-3.4-use-d_make_root.patch generic: make yaffs work on 3.6 12 years ago
511-yaffs-3.5-use-clear_inode.patch generic: make yaffs work on 3.6 12 years ago
512-yaffs-3.5-convert-to-use-kuid_t-kgid_t.patch generic: convert yaffs to use kuid_t and kgid_t on 3.6+ 12 years ago
513-yaffs-3.6-fix-dir_inode-ops.patch generic: convert yaffs to use kuid_t and kgid_t on 3.6+ 12 years ago
514-yaffs-3.6-use-delayed-work-instead-of-write_super.patch generic: convert yaffs to use kuid_t and kgid_t on 3.6+ 12 years ago
520-squashfs_update_xz_comp_opts.patch linux 3.6 support (work in progress) 12 years ago
530-jffs2_make_lzma_available.patch generic: rename jffs2 patches 12 years ago
531-debloat_lzma.patch generic: rename jffs2 patches 12 years ago
532-jffs2_eofdetect.patch generic: rename jffs2 patches 12 years ago
540-crypto-xz-decompression-support.patch make all 3.6 patches apply and build 12 years ago
541-ubifs-xz-decompression-support.patch generic: fix UBIFS build error if XZ compression is disabled 12 years ago
550-ubifs-symlink-xattr-support.patch make all 3.6 patches apply and build 12 years ago
600-netfilter_layer7_2.22.patch make all 3.6 patches apply and build 12 years ago
601-netfilter_layer7_pktmatch.patch linux 3.6 support (work in progress) 12 years ago
602-netfilter_layer7_match.patch linux 3.6 support (work in progress) 12 years ago
603-netfilter_layer7_2.6.36_fix.patch make all 3.6 patches apply and build 12 years ago
604-netfilter_conntrack_flush.patch linux/3.6: refresh patches 12 years ago
610-netfilter_match_bypass_default_checks.patch make all 3.6 patches apply and build 12 years ago
611-netfilter_match_bypass_default_table.patch make all 3.6 patches apply and build 12 years ago
612-netfilter_match_reduce_memory_access.patch linux 3.6 support (work in progress) 12 years ago
613-netfilter_optional_tcp_window_check.patch generic: fix tcp_window_check patch for 3.6 12 years ago
620-sched_esfq.patch make all 3.6 patches apply and build 12 years ago
621-sched_act_connmark.patch make all 3.6 patches apply and build 12 years ago
630-packet_socket_type.patch make all 3.6 patches apply and build 12 years ago
640-bridge_no_eap_forward.patch linux 3.6 support (work in progress) 12 years ago
641-bridge_always_accept_eap.patch linux 3.6 support (work in progress) 12 years ago
642-bridge_port_isolate.patch make all 3.6 patches apply and build 12 years ago
643-bridge_remove_ipv6_dependency.patch kernel: update linux 3.6 to 3.6.4 12 years ago
644-bridge_optimize_netfilter_hooks.patch make all 3.6 patches apply and build 12 years ago
650-pppoe_header_pad.patch make all 3.6 patches apply and build 12 years ago
651-wireless_mesh_header.patch make all 3.6 patches apply and build 12 years ago
652-atm_header_changes.patch linux 3.6 support (work in progress) 12 years ago
653-disable_netlink_trim.patch kernel: update linux 3.6 to 3.6.7 12 years ago
655-increase_skb_pad.patch kernel: align the skb padding to power of two 11 years ago
700-swconfig.patch generic: export include/linux/switch.h on 3.3, 3.6 12 years ago
701-phy_extension.patch make all 3.6 patches apply and build 12 years ago
702-phy_add_aneg_done_function.patch make all 3.6 patches apply and build 12 years ago
703-phy-add-detach-callback-to-struct-phy_driver.patch generic: add detach callback to struct phy_driver 12 years ago
710-phy-add-mdio_register_board_info.patch generic: add detach callback to struct phy_driver 12 years ago
720-phy_adm6996.patch make all 3.6 patches apply and build 12 years ago
721-phy_packets.patch kernel: allow __netdev_alloc_skb_ip_align to be called with dev = NULL 11 years ago
722-phy_mvswitch.patch make all 3.6 patches apply and build 12 years ago
723-phy_ip175c.patch make all 3.6 patches apply and build 12 years ago
724-phy_ar8216.patch make all 3.6 patches apply and build 12 years ago
725-phy_rtl8306.patch make all 3.6 patches apply and build 12 years ago
726-phy_rtl8366.patch make all 3.6 patches apply and build 12 years ago
727-phy-rtl8367.patch make all 3.6 patches apply and build 12 years ago
728-phy-micrel.patch make all 3.6 patches apply and build 12 years ago
729-phy-rtl8367b.patch make all 3.6 patches apply and build 12 years ago
729-phy-tantos.patch make all 3.6 patches apply and build 12 years ago
730-phy_b53.patch generic: add b53 swconfig switch driver 12 years ago
750-hostap_txpower.patch make all 3.6 patches apply and build 12 years ago
800-usb-ohci-multiple-platform-driver-fix.patch generic: add EHCI|OHCI platform driver fix to 3.[36] 12 years ago
801-usb-ehci-multiple-platform-driver-fix.patch generic: add EHCI|OHCI platform driver fix to 3.[36] 12 years ago
810-pci_disable_common_quirks.patch kernel: disable more pci quirks to save space on platforms that don't need them 12 years ago
811-pci_disable_usb_common_quirks.patch generic: update pci_disable_usb_common_quirks patch 12 years ago
820-usb_add_usb_find_device_by_name.patch make all 3.6 patches apply and build 12 years ago
830-ledtrig_morse.patch make all 3.6 patches apply and build 12 years ago
831-ledtrig_netdev.patch make all 3.6 patches apply and build 12 years ago
832-ledtrig_usbdev.patch make all 3.6 patches apply and build 12 years ago
840-rtc7301.patch make all 3.6 patches apply and build 12 years ago
841-rtc_pt7c4338.patch make all 3.6 patches apply and build 12 years ago
861-04_spi_gpio_implement_spi_delay.patch linux 3.6 support (work in progress) 12 years ago
862-gpio_spi_driver.patch make all 3.6 patches apply and build 12 years ago
863-gpiommc.patch strict_strtoul is obsolete, use kstrtoul instead 11 years ago
864-gpiommc_configfs_locking.patch strict_strtoul is obsolete, use kstrtoul instead 11 years ago
870-hifn795x_byteswap.patch linux 3.6 support (work in progress) 12 years ago
880-gateworks_system_controller.patch kernel: fix broken depends syntax introduced in r37933 11 years ago
900-slab_maxsize.patch make all 3.6 patches apply and build 12 years ago
901-debloat_sock_diag.patch kernel: update linux 3.6 to 3.6.11 12 years ago
902-debloat_proc.patch kernel: do not strip /proc/net/ip_mr_* in the /proc debloat patch, it is used by iproute2 11 years ago
903-debloat_direct_io.patch kernel: fix a warning in the O_DIRECT debloat patch 12 years ago
910-kobject_uevent.patch make all 3.6 patches apply and build 12 years ago
911-kobject_add_broadcast_uevent.patch make all 3.6 patches apply and build 12 years ago
921-use_preinit_as_init.patch kernel: update linux 3.6 to 3.6.5 12 years ago
922-always-create-console-node-in-initramfs.patch kernel: ensure that /dev/console exists in initramfs 11 years ago
930-crashlog.patch kernel: crashlog: Avoid out-of-bounds write 11 years ago
940-ocf_kbuild_integration.patch make all 3.6 patches apply and build 12 years ago
941-ocf_20120127.patch make all 3.6 patches apply and build 12 years ago
950-vm_exports.patch kernel: add missing bcma defines and header file for bcrmfmac 11 years ago
960-decompress_unlzo_fix.patch linux 3.6 support (work in progress) 12 years ago
970-remove-unsane-filenames-from-deps_initramfs-list.patch generic: sanitize deps_initramfs list 12 years ago
980-arm_openwrt_machtypes.patch add support for the Tonze AP-422/425 12 years ago
992-mpcore_wdt_fix_watchdog_counter_loading.patch make all 3.6 patches apply and build 12 years ago
993-mpcore_wdt_fix_wdioc_setoptions_handling.patch make all 3.6 patches apply and build 12 years ago
994-mpcore_wdt_fix_timer_mode_setup.patch make all 3.6 patches apply and build 12 years ago
a02-swconfig-revert-portid-snd_portid-usage.patch kernel: backport switch user API changes after r36283 11 years ago
a03-swconfig-revert-UAPI-disintegration.patch kernel: backport switch user API changes after r36283 11 years ago