openwrtv3/target/linux/generic/patches-3.10
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
2013-09-11 14:30:15 +00:00
..
001-MIPS-Declare-emulate_load_store_microMIPS-as-a-stati.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
002-MIPS-Only-set-cpu_has_mmips-if-SYS_SUPPORTS_MICROMIP.patch kernel/3.10: add a generic patch for cpu_has_mmips override 2013-07-20 10:14:05 +00:00
003-of-pci-Add-of_pci_get_devfn-function.patch kernel/3.10: backport of_pci_get_devfn function from 3.11 2013-08-23 17:07:20 +00:00
007-hso-Earlier-catch-of-error-condition.patch kernel: fix arch-dependent bug in hso module 2013-09-10 13:47:44 +00:00
008-hso-Fix-stack-corruption-on-some-architectures.patch kernel: fix arch-dependent bug in hso module 2013-09-10 13:47:44 +00:00
020-ssb_update.patch kernel: update 3.10 to 3.10.2 2013-07-22 15:31:13 +00:00
025-bcma_backport.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
026-bcma_pcie_up_down.patch kernel: fix DMA error when BCM4331 is connected to BCM4706 2013-08-05 16:17:05 +00:00
030-timer_list_fix.patch kernel: merge a proposed fix from LKML for fixing infinite data returned by /proc/timer_list 2013-07-20 18:35:54 +00:00
060-hso_devices.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
061-arm_xz_decompressor_build_fix.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
062-mips_decompressor_build_fix.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
063-arm-fix-fiq-vivt.patch kernel: Fix FIQ code on VIVT CPUs (#14145) 2013-09-11 12:08:44 +00:00
100-overlayfs.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
102-ehci_hcd_ignore_oc.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
120-bridge_allow_receiption_on_disabled_port.patch kernel: fix another corner case in the bridge state patch (#13874) 2013-07-15 15:12:33 +00:00
130-mips_remove_plat_dma_functions.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
131-improve_noncoherent_dma_checks.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
132-mips_inline_dma_ops.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
200-fix_localversion.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
201-extra_optimization.patch build: unify target independent optimization options 2013-07-29 09:38:29 +00:00
202-reduce_module_size.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
203-kallsyms_uncompressed.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
204-module_strip.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
210-darwin_scripts_include.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
212-byteshift_portability.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
220-gc_sections.patch kernel: fix booting issues on imx23 and imx6 targets 2013-08-28 07:38:36 +00:00
221-module_exports.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
230-openwrt_lzma_options.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
250-netfilter_depends.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
251-sound_kconfig.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
252-mv_cesa_depends.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
253-ssb_b43_default_on.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
254-textsearch_kconfig_hacks.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
255-lib80211_kconfig_hacks.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
256-crypto_add_kconfig_prompts.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
257-wireless_ext_kconfig_hack.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
258-netfilter_netlink_kconfig_hack.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
259-regmap_dynamic.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
260-crypto_test_dependencies.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
261-move_bcm963xx_tag.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
262-compressor_kconfig_hack.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
300-mips_expose_boot_raw.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
301-mips_image_cmdline_hack.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
302-mips_no_branch_likely.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
304-mips_disable_fpu.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
305-mips_module_reloc.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
306-mips_mem_functions_performance.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
309-mips_fuse_workaround.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
310-arm_module_unresolved_weak_sym.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
320-ppc4xx_optimization.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
321-powerpc_crtsavres_prereq.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
322-ppc4xx-crypto-compile-fix.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
400-rootfs_split.patch kernel: implement automatic rootfs split from the firmware partition in linux 3.10 (disabled by default) 2013-07-14 12:57:03 +00:00
401-partial_eraseblock_write.patch kernel: refresh 3.10 patches 2013-07-15 15:12:37 +00:00
410-mtd_info_move_forward_decl.patch kernel: refresh 3.10 patches 2013-07-15 15:12:37 +00:00
420-redboot_space.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
430-mtd_myloader_partition_parser.patch kernel: refresh 3.10 patches 2013-07-15 15:12:37 +00:00
440-block2mtd_init.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
441-block2mtd_probe.patch kernel: fix block2mtd build after removing the device refresh ioctl 2013-07-15 11:01:48 +00:00
450-mtd_plat_nand_chip_fixup.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
451-mtd_fix_nand_correct_data_return_code.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
460-cfi_cmdset_0002_no_erase_suspend.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
470-mtd_m25p80_add_pm25_flash_support.patch kernel: replace local m25p80 patches with upstream submission 2013-08-17 23:54:41 +00:00
475-mtd_cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
476-mtd-m25p80-allow-to-disable-small-sector-erase.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
478-mtd-partial_eraseblock_unlock.patch kernel: refresh 3.10 patches 2013-07-15 15:12:37 +00:00
500-yaffs-Kbuild-integration.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
501-yaffs-Fix-directory-unlinking-in-yaffs1-mode.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
502-yaffs-Switch-from-semaphores-to-mutexes.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
503-yaffs-Replace-yaffs_dir_llseek-with-Linux-generic-ll.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
504-yaffs-Mods-for-Linux-3.0-and-fix-a-typo.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
505-yaffs-3.2-use-MTD_OPS_AUTO_OOB.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
506-yaffs-3.2-dont-use-i_nlink-directly.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
507-yaffs-3.3_fix.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
508-yaffs-3.3-use-mtd_-helpers.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
509-yaffs-3.4-add-underscore-to-mtd-internal-names.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
510-yaffs-3.4-use-d_make_root.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
511-yaffs-3.5-use-clear_inode.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
512-yaffs-3.5-convert-to-use-kuid_t-kgid_t.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
513-yaffs-3.6-fix-dir_inode-ops.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
514-yaffs-3.6-use-delayed-work-instead-of-write_super.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
515-yaffs-3.10-disable-proc-entry.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
520-squashfs_update_xz_comp_opts.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
530-jffs2_make_lzma_available.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
531-debloat_lzma.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
532-jffs2_eofdetect.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
540-crypto-xz-decompression-support.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
541-ubifs-xz-decompression-support.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
550-ubifs-symlink-xattr-support.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
551-ubifs-fix-default-compression-selection.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
600-netfilter_layer7_2.22.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
601-netfilter_layer7_pktmatch.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
602-netfilter_layer7_match.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
603-netfilter_layer7_2.6.36_fix.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
604-netfilter_conntrack_flush.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
610-netfilter_match_bypass_default_checks.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
611-netfilter_match_bypass_default_table.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
612-netfilter_match_reduce_memory_access.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
613-netfilter_optional_tcp_window_check.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
620-sched_esfq.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
621-sched_act_connmark.patch kernel: fix crash in act_connmark in 3.9 and 3.10 (fixes #13916, #13876) 2013-07-21 13:53:54 +00:00
630-packet_socket_type.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
640-bridge_no_eap_forward.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
641-bridge_always_accept_eap.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
642-bridge_port_isolate.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
643-bridge_remove_ipv6_dependency.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
644-bridge_optimize_netfilter_hooks.patch kernel: refresh 3.10 patches 2013-07-15 15:12:37 +00:00
650-pppoe_header_pad.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
651-wireless_mesh_header.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
652-atm_header_changes.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
653-disable_netlink_trim.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
655-increase_skb_pad.patch kernel: align the skb padding to power of two 2013-09-11 14:30:15 +00:00
656-skb_reduce_truesize-helper.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
657-qdisc_reduce_truesize.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
660-fq_codel_defaults.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
661-fq_codel_keep_dropped_stats.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
662-use_fq_codel_by_default.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
663-remove_pfifo_fast.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
670-ipv6-allow-rejecting-with-source-address-failed-policy.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
700-swconfig.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
701-phy_extension.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
702-phy_add_aneg_done_function.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
703-phy-add-detach-callback-to-struct-phy_driver.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
710-phy-add-mdio_register_board_info.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
720-phy_adm6996.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
721-phy_packets.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
722-phy_mvswitch.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
723-phy_ip175c.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
724-phy_ar8216.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
725-phy_rtl8306.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
726-phy_rtl8366.patch kernel: v3.10 has no GENERIC_GPIO anymore 2013-07-15 21:05:53 +00:00
727-phy-rtl8367.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
728-phy-micrel.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
729-phy-rtl8367b.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
729-phy-tantos.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
730-phy_b53.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
750-hostap_txpower.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
810-pci_disable_common_quirks.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
811-pci_disable_usb_common_quirks.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
820-usb_add_usb_find_device_by_name.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
830-ledtrig_morse.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
831-ledtrig_netdev.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
832-ledtrig_usbdev.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
840-rtc7301.patch kernel: generic: remove upstream patches for 3.10-rc3 and refresh patches 2013-05-29 01:27:27 +00:00
841-rtc_pt7c4338.patch kernel: generic: remove upstream patches for 3.10-rc3 and refresh patches 2013-05-29 01:27:27 +00:00
861-04_spi_gpio_implement_spi_delay.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
862-gpio_spi_driver.patch kernel: v3.10 has no GENERIC_GPIO anymore 2013-07-15 21:05:53 +00:00
863-gpiommc.patch strict_strtoul is obsolete, use kstrtoul instead 2013-07-27 09:23:18 +00:00
864-gpiommc_configfs_locking.patch strict_strtoul is obsolete, use kstrtoul instead 2013-07-27 09:23:18 +00:00
870-hifn795x_byteswap.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
880-gateworks_system_controller.patch kernel: allow hwmon GSC driver for all targets 2013-09-10 22:26:30 +00:00
890-8250_optional_sysrq.patch kernel: do not accept sysrq characters via serial port 2013-07-09 12:52:00 +00:00
900-slab_maxsize.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
901-debloat_sock_diag.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
902-debloat_proc.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
903-debloat_direct_io.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
910-kobject_uevent.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
911-kobject_add_broadcast_uevent.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
921-use_preinit_as_init.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
922-always-create-console-node-in-initramfs.patch kernel: ensure that /dev/console exists in initramfs 2013-08-27 12:02:54 +00:00
930-crashlog.patch kernel: crashlog: Avoid out-of-bounds write 2013-08-21 20:59:25 +00:00
940-ocf_kbuild_integration.patch kernel: update linux 3.10 to 3.10 final 2013-07-01 13:21:06 +00:00
941-ocf_20120127.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
950-vm_exports.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
960-decompress_unlzo_fix.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
970-remove-unsane-filenames-from-deps_initramfs-list.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
980-arm_openwrt_machtypes.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
992-mpcore_wdt_fix_watchdog_counter_loading.patch kernel: update 3.10 to 3.10.9 2013-08-23 17:31:04 +00:00
993-mpcore_wdt_fix_wdioc_setoptions_handling.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
994-mpcore_wdt_fix_timer_mode_setup.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
995-mpcore_twd_calibrate_single_core.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
996-zsmalloc_allow_module_build.patch kernel: generic: add 3.10-rc1 support 2013-05-19 18:36:15 +00:00
997-device_tree_cmdline.patch kernel: update 3.10 to 3.10.10 2013-09-02 19:12:54 +00:00