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.9
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
..
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 kernel: add support for 3.9-rc2 11 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
031-PCI-Remove-__weak-annotation-from-pcibios_get_phb_of.patch linux/3.9: implement pcibios_get_phb_of_node for MIPS 11 years ago
032-MIPS-PCI-Implement-pcibios_get_phb_of_node.patch linux/3.9: implement pcibios_get_phb_of_node for MIPS 11 years ago
060-hso_devices.patch refresh patches against -rc4 11 years ago
061-arm_xz_decompressor_build_fix.patch kernel: add support for 3.9-rc2 11 years ago
062-mips_decompressor_build_fix.patch kernel: add support for 3.9-rc2 11 years ago
084-x86_fix_perf_uclibc_build.patch kernel: add support for 3.9-rc2 11 years ago
100-overlayfs.patch refresh against -rc7 11 years ago
101-overlayfs_path_ref.patch kernel: fix a reference counting bug in overlayfs 11 years ago
102-ehci_hcd_ignore_oc.patch refresh patches against -rc4 11 years ago
110-fix_mtd_include.patch kernel: add support for 3.9-rc2 11 years ago
120-bridge_allow_receiption_on_disabled_port.patch kernel: fix another corner case in the bridge state patch (#13874) 11 years ago
200-fix_localversion.patch kernel: add support for 3.9-rc2 11 years ago
201-extra_optimization.patch build: unify target independent optimization options 11 years ago
202-reduce_module_size.patch kernel: add support for 3.9-rc2 11 years ago
203-kallsyms_uncompressed.patch refresh patches against -rc4 11 years ago
204-module_strip.patch kernel: update to kernel 3.9.10 and refresh patches 11 years ago
210-darwin_scripts_include.patch kernel: add support for 3.9-rc2 11 years ago
212-byteshift_portability.patch kernel: add support for 3.9-rc2 11 years ago
220-gc_sections.patch kernel: update linux 3.9 to 3.9.8 11 years ago
221-module_exports.patch kernel: add support for 3.9-rc2 11 years ago
230-openwrt_lzma_options.patch kernel: add support for 3.9-rc2 11 years ago
250-netfilter_depends.patch kernel: add support for 3.9-rc2 11 years ago
251-sound_kconfig.patch kernel: make SND_COMPRESS_OFFLOAD symbol visible for selection (#13193) 11 years ago
252-mv_cesa_depends.patch kernel: add support for 3.9-rc2 11 years ago
253-ssb_b43_default_on.patch kernel: add support for 3.9-rc2 11 years ago
254-textsearch_kconfig_hacks.patch kernel: add support for 3.9-rc2 11 years ago
255-lib80211_kconfig_hacks.patch kernel: add support for 3.9-rc2 11 years ago
256-crypto_add_kconfig_prompts.patch kernel: add support for 3.9-rc2 11 years ago
257-wireless_ext_kconfig_hack.patch kernel: add support for 3.9-rc2 11 years ago
258-netfilter_netlink_kconfig_hack.patch kernel: add support for 3.9-rc2 11 years ago
259-regmap_dynamic.patch refresh against -rc7 11 years ago
260-crypto_test_dependencies.patch kernel: update to kernel 3.9.10 and refresh patches 11 years ago
261-move_bcm963xx_tag.patch kernel: add support for 3.9-rc2 11 years ago
262-compressor_kconfig_hack.patch kernel: make zlib and lzo modules selectable 11 years ago
300-mips_expose_boot_raw.patch kernel: refresh patches against 3.9-rc6 11 years ago
301-mips_image_cmdline_hack.patch kernel: add support for 3.9-rc2 11 years ago
302-mips_no_branch_likely.patch kernel: add support for 3.9-rc2 11 years ago
304-mips_disable_fpu.patch kernel: add support for 3.9-rc2 11 years ago
305-mips_module_reloc.patch kernel: add support for 3.9-rc2 11 years ago
306-mips_mem_functions_performance.patch kernel: add support for 3.9-rc2 11 years ago
309-mips_fuse_workaround.patch kernel: add support for 3.9-rc2 11 years ago
310-arm_module_unresolved_weak_sym.patch kernel: add support for 3.9-rc2 11 years ago
320-ppc4xx_optimization.patch kernel: add support for 3.9-rc2 11 years ago
321-powerpc_crtsavres_prereq.patch kernel: add support for 3.9-rc2 11 years ago
322-ppc4xx-crypto-compile-fix.patch kernel: add support for 3.9-rc2 11 years ago
400-rootfs_split.patch kernel: fix a memory leak in split_rootfs_data() 11 years ago
401-partial_eraseblock_write.patch kernel: add support for 3.9-rc2 11 years ago
410-mtd_info_move_forward_decl.patch kernel: add support for 3.9-rc2 11 years ago
420-redboot_space.patch kernel: add support for 3.9-rc2 11 years ago
430-mtd_myloader_partition_parser.patch kernel: add support for 3.9-rc2 11 years ago
440-block2mtd_init.patch refresh against -rc7 11 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 kernel: add support for 3.9-rc2 11 years ago
450-mtd_plat_nand_chip_fixup.patch refresh patches against -rc4 11 years ago
451-mtd_fix_nand_correct_data_return_code.patch kernel: add support for 3.9-rc2 11 years ago
460-cfi_cmdset_0002_no_erase_suspend.patch kernel: add support for 3.9-rc2 11 years ago
470-mtd_m25p80_add_pm25lv_flash_support.patch kernel: add support for 3.9-rc2 11 years ago
473-mtd_m25p80_add_w25q128.patch kernel: add support for 3.9-rc2 11 years ago
474-mtd_mp25p80_add_pm25lq032.patch kernel: refresh patches against 3.9-rc6 11 years ago
475-mtd_cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch kernel: add support for 3.9-rc2 11 years ago
476-mtd-m25p80-allow-to-disable-small-sector-erase.patch kernel: refresh patches against 3.9-rc6 11 years ago
478-mtd-partial_eraseblock_unlock.patch kernel: add support for 3.9-rc2 11 years ago
500-yaffs-Kbuild-integration.patch kernel: add support for 3.9-rc2 11 years ago
501-yaffs-Fix-directory-unlinking-in-yaffs1-mode.patch kernel: add support for 3.9-rc2 11 years ago
502-yaffs-Switch-from-semaphores-to-mutexes.patch kernel: add support for 3.9-rc2 11 years ago
503-yaffs-Replace-yaffs_dir_llseek-with-Linux-generic-ll.patch kernel: add support for 3.9-rc2 11 years ago
504-yaffs-Mods-for-Linux-3.0-and-fix-a-typo.patch kernel: add support for 3.9-rc2 11 years ago
505-yaffs-3.2-use-MTD_OPS_AUTO_OOB.patch kernel: add support for 3.9-rc2 11 years ago
506-yaffs-3.2-dont-use-i_nlink-directly.patch kernel: add support for 3.9-rc2 11 years ago
507-yaffs-3.3_fix.patch kernel: add support for 3.9-rc2 11 years ago
508-yaffs-3.3-use-mtd_-helpers.patch kernel: add support for 3.9-rc2 11 years ago
509-yaffs-3.4-add-underscore-to-mtd-internal-names.patch kernel: add support for 3.9-rc2 11 years ago
510-yaffs-3.4-use-d_make_root.patch kernel: add support for 3.9-rc2 11 years ago
511-yaffs-3.5-use-clear_inode.patch kernel: add support for 3.9-rc2 11 years ago
512-yaffs-3.5-convert-to-use-kuid_t-kgid_t.patch kernel: add support for 3.9-rc2 11 years ago
513-yaffs-3.6-fix-dir_inode-ops.patch kernel: add support for 3.9-rc2 11 years ago
514-yaffs-3.6-use-delayed-work-instead-of-write_super.patch kernel: add support for 3.9-rc2 11 years ago
520-squashfs_update_xz_comp_opts.patch kernel: add support for 3.9-rc2 11 years ago
530-jffs2_make_lzma_available.patch kernel: refresh 3.9 patches 11 years ago
531-debloat_lzma.patch kernel: update to kernel 3.9.10 and refresh patches 11 years ago
532-jffs2_eofdetect.patch kernel: add support for 3.9-rc2 11 years ago
540-crypto-xz-decompression-support.patch kernel: add support for 3.9-rc2 11 years ago
541-ubifs-xz-decompression-support.patch kernel: add support for 3.9-rc2 11 years ago
550-ubifs-symlink-xattr-support.patch kernel: add support for 3.9-rc2 11 years ago
551-ubifs-fix-default-compression-selection.patch kernel: add support for 3.9-rc2 11 years ago
600-netfilter_layer7_2.22.patch kernel: add support for 3.9-rc2 11 years ago
601-netfilter_layer7_pktmatch.patch kernel: add support for 3.9-rc2 11 years ago
602-netfilter_layer7_match.patch kernel: add support for 3.9-rc2 11 years ago
603-netfilter_layer7_2.6.36_fix.patch kernel: add support for 3.9-rc2 11 years ago
604-netfilter_conntrack_flush.patch kernel: add support for 3.9-rc2 11 years ago
610-netfilter_match_bypass_default_checks.patch kernel: add support for 3.9-rc2 11 years ago
611-netfilter_match_bypass_default_table.patch kernel: add support for 3.9-rc2 11 years ago
612-netfilter_match_reduce_memory_access.patch kernel: add support for 3.9-rc2 11 years ago
613-netfilter_optional_tcp_window_check.patch kernel: add support for 3.9-rc2 11 years ago
620-sched_esfq.patch kernel: add support for 3.9-rc2 11 years ago
621-sched_act_connmark.patch kernel: fix crash in act_connmark in 3.9 and 3.10 (fixes #13916, #13876) 11 years ago
630-packet_socket_type.patch kernel: update linux 3.9 to 3.9.8 11 years ago
640-bridge_no_eap_forward.patch refresh patches against -rc4 11 years ago
641-bridge_always_accept_eap.patch kernel: add support for 3.9-rc2 11 years ago
642-bridge_port_isolate.patch kernel: update linux 3.9 patches to rc8 11 years ago
643-bridge_remove_ipv6_dependency.patch kernel: update linux 3.9 to 3.9.8 11 years ago
644-bridge_optimize_netfilter_hooks.patch kernel: update 3.9 to 3.9.11 11 years ago
650-pppoe_header_pad.patch kernel: add support for 3.9-rc2 11 years ago
651-wireless_mesh_header.patch kernel: add support for 3.9-rc2 11 years ago
652-atm_header_changes.patch kernel: add support for 3.9-rc2 11 years ago
653-disable_netlink_trim.patch kernel: add support for 3.9-rc2 11 years ago
655-increase_skb_pad.patch kernel: align the skb padding to power of two 11 years ago
656-skb_reduce_truesize-helper.patch kernel: add patches by Dave Täht to reduce buffer size in longer queues to reduce memory pressure 11 years ago
657-qdisc_reduce_truesize.patch refresh against -rc7 11 years ago
660-fq_codel_defaults.patch kernel: tune fq_codel defaults for common netdevice speeds 11 years ago
661-fq_codel_keep_dropped_stats.patch kernel: keep dropped stats in fq_codel 11 years ago
662-use_fq_codel_by_default.patch kernel: force CONFIG_NET_SCHED=y for fq_codel (#13360) 11 years ago
663-remove_pfifo_fast.patch kernel: switch default qdisc from pfifo_fast to fq_codel and remove pfifo_fast 11 years ago
670-ipv6-allow-rejecting-with-source-address-failed-policy.patch kernel: update linux 3.9 to 3.9.8 11 years ago
700-swconfig.patch kernel: add support for 3.9-rc2 11 years ago
701-phy_extension.patch kernel: add support for 3.9-rc2 11 years ago
702-phy_add_aneg_done_function.patch kernel: refresh 3.9 patches 11 years ago
703-phy-add-detach-callback-to-struct-phy_driver.patch kernel: refresh 3.9 patches 11 years ago
710-phy-add-mdio_register_board_info.patch kernel: add support for 3.9-rc2 11 years ago
720-phy_adm6996.patch kernel: add support for 3.9-rc2 11 years ago
721-phy_packets.patch kernel: update linux 3.9 patches to rc8 11 years ago
722-phy_mvswitch.patch kernel: add support for 3.9-rc2 11 years ago
723-phy_ip175c.patch kernel: add support for 3.9-rc2 11 years ago
724-phy_ar8216.patch kernel: add support for 3.9-rc2 11 years ago
725-phy_rtl8306.patch kernel: add support for 3.9-rc2 11 years ago
726-phy_rtl8366.patch kernel: add support for 3.9-rc2 11 years ago
727-phy-rtl8367.patch kernel: add support for 3.9-rc2 11 years ago
728-phy-micrel.patch kernel: add support for 3.9-rc2 11 years ago
729-phy-rtl8367b.patch kernel: add support for 3.9-rc2 11 years ago
729-phy-tantos.patch kernel: add support for 3.9-rc2 11 years ago
730-phy_b53.patch kernel: add support for 3.9-rc2 11 years ago
750-hostap_txpower.patch kernel: add support for 3.9-rc2 11 years ago
800-usb-ohci-multiple-platform-driver-fix.patch kernel: update linux 3.9 to 3.9.8 11 years ago
810-pci_disable_common_quirks.patch kernel: add support for 3.9-rc2 11 years ago
811-pci_disable_usb_common_quirks.patch kernel: add support for 3.9-rc2 11 years ago
820-usb_add_usb_find_device_by_name.patch kernel: add support for 3.9-rc2 11 years ago
830-ledtrig_morse.patch kernel: add support for 3.9-rc2 11 years ago
831-ledtrig_netdev.patch kernel: add support for 3.9-rc2 11 years ago
832-ledtrig_usbdev.patch kernel: add support for 3.9-rc2 11 years ago
840-rtc7301.patch kernel: update 3.9 to 3.9.3 11 years ago
841-rtc_pt7c4338.patch kernel: update 3.9 to 3.9.3 11 years ago
861-04_spi_gpio_implement_spi_delay.patch kernel: add support for 3.9-rc2 11 years ago
862-gpio_spi_driver.patch kernel: refresh patches against 3.9-rc6 11 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 kernel: add support for 3.9-rc2 11 years ago
880-gateworks_system_controller.patch kernel: allow hwmon GSC driver for all targets 11 years ago
890-8250_optional_sysrq.patch kernel: do not accept sysrq characters via serial port 11 years ago
900-slab_maxsize.patch kernel: add support for 3.9-rc2 11 years ago
901-debloat_sock_diag.patch kernel: add support for 3.9-rc2 11 years ago
902-debloat_proc.patch kernel: update linux 3.9 to 3.9.8 11 years ago
903-debloat_direct_io.patch kernel: refresh 3.9 patches 11 years ago
910-kobject_uevent.patch kernel: add support for 3.9-rc2 11 years ago
911-kobject_add_broadcast_uevent.patch kernel: add support for 3.9-rc2 11 years ago
921-use_preinit_as_init.patch kernel: refresh patches against 3.9-rc6 11 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 kernel: add support for 3.9-rc2 11 years ago
941-ocf_20120127.patch kernel: add support for 3.9-rc2 11 years ago
950-vm_exports.patch refresh against -rc7 11 years ago
960-decompress_unlzo_fix.patch kernel: add support for 3.9-rc2 11 years ago
970-remove-unsane-filenames-from-deps_initramfs-list.patch kernel: add support for 3.9-rc2 11 years ago
980-arm_openwrt_machtypes.patch kernel: add support for 3.9-rc2 11 years ago
992-mpcore_wdt_fix_watchdog_counter_loading.patch kernel: refresh 3.9 patches 11 years ago
993-mpcore_wdt_fix_wdioc_setoptions_handling.patch kernel: add support for 3.9-rc2 11 years ago
994-mpcore_wdt_fix_timer_mode_setup.patch kernel: add support for 3.9-rc2 11 years ago
995-mpcore_twd_calibrate_single_core.patch refresh against -rc7 11 years ago
996-zsmalloc_allow_module_build.patch kernel: allow building zsmalloc as a module again 11 years ago
997-device_tree_cmdline.patch lantiq: enable retrieving kernel args from bootloader 11 years ago