aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@redhat.com>2014-12-09 19:40:42 -0800
committerDavid S. Miller <davem@davemloft.net>2014-12-10 13:31:57 -0500
commitffde7328a36d16e626bae8468571858d71cd010b (patch)
treec84689c687b51d6fe70306f28cb045fa43f9ba59 /scripts
parentMerge branch 'for-davem-2' of git://git.kernel.org/pub/scm/linux/kernel/git/v... (diff)
downloadlinux-ffde7328a36d16e626bae8468571858d71cd010b.tar.gz
linux-ffde7328a36d16e626bae8468571858d71cd010b.zip
net: Split netdev_alloc_frag into __alloc_page_frag and add __napi_alloc_frag
This patch splits the netdev_alloc_frag function up so that it can be used on one of two page frag pools instead of being fixed on the netdev_alloc_cache. By doing this we can add a NAPI specific function __napi_alloc_frag that accesses a pool that is only used from softirq context. The advantage to this is that we do not need to call local_irq_save/restore which can be a significant savings. I also took the opportunity to refactor the core bits that were placed in __alloc_page_frag. First I updated the allocation to do either a 32K allocation or an order 0 page. This is based on the changes in commmit d9b2938aa where it was found that latencies could be reduced in case of failures. Then I also rewrote the logic to work from the end of the page to the start. By doing this the size value doesn't have to be used unless we have run out of space for page fragments. Finally I cleaned up the atomic bits so that we just do an atomic_sub_and_test and if that returns true then we set the page->_count via an atomic_set. This way we can remove the extra conditional for the atomic_read since it would have led to an atomic_inc in the case of success anyway. Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com> Acked-by: Alexei Starovoitov <ast@plumgrid.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
-0700'>2023-08-10ibmvnic: Ensure login failure recovery is safe from other resetsNick Child1-21/+47 2023-08-10ibmvnic: Do partial reset on login failureNick Child1-6/+40 2023-08-10ibmvnic: Handle DMA unmapping of login buffs in release functionsNick Child1-5/+10 2023-08-10ibmvnic: Unmap DMA login rsp buffer on send login failNick Child1-1/+4 2023-08-10ibmvnic: Enforce stronger sanity checks on login responseNick Child1-0/+18 2023-08-10net: mana: Fix MANA VF unload when hardware is unresponsiveSouradeep Chakrabarti1-4/+33 2023-08-10x86: Move gds_ucode_mitigated() declaration to headerArnd Bergmann2-2/+2 2023-08-10x86/speculation: Add cpu_show_gds() prototypeArnd Bergmann1-0/+2 2023-08-10driver core: cpu: Make cpu_show_not_affected() staticBorislav Petkov (AMD)1-8/+2 2023-08-10x86/srso: Fix build breakage with the LLVM linkerNick Desaulniers1-3/+9 2023-08-10Documentation/srso: Document IBPB aspect and fix formattingBorislav Petkov (AMD)1-27/+44 2023-08-10driver core: cpu: Unify redundant silly stubsBorislav Petkov (AMD)1-68/+19 2023-08-10Documentation/hw-vuln: Unify filename specification in indexBorislav Petkov (AMD)1-7/+7 2023-08-10netfilter: nf_tables: remove busy mark and gc batch APIPablo Neira Ayuso2-142/+4 2023-08-10netfilter: nft_set_hash: mark set element as dead when deleting from packet pathPablo Neira Ayuso1-2/+4 2023-08-10netfilter: nf_tables: adapt set backend to use GC transaction APIPablo Neira Ayuso4-103/+173 2023-08-10netfilter: nf_tables: GC transaction API to avoid race with control planePablo Neira Ayuso2-12/+300 2023-08-09selftests/bpf: Add sockmap test for redirecting partial skb dataXu Kuohai2-0/+86 2023-08-09selftests/bpf: fix a CI failure caused by vsock sockmap testXu Kuohai1-1/+1 2023-08-09bpf, sockmap: Fix bug that strp_done cannot be calledXu Kuohai2-2/+9 2023-08-09bpf, sockmap: Fix map type error in sock_map_del_linkXu Kuohai1-5/+5 2023-08-09xsk: fix refcount underflow in error pathMagnus Karlsson1-0/+1 2023-08-09ipv6: adjust ndisc_is_useropt() to also return true for PIOMaciej Żenczykowski1-1/+2 2023-08-09selftests: forwarding: bridge_mdb: Make test more robustIdo Schimmel1-4/+4 2023-08-09selftests: forwarding: bridge_mdb_max: Fix failing test with old libnetIdo Schimmel1-4/+10 2023-08-09selftests: forwarding: bridge_mdb: Fix failing test with old libnetIdo Schimmel1-22/+24 2023-08-09selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnetIdo Schimmel1-5/+8 2023-08-09selftests: forwarding: tc_tunnel_key: Make filters more specificIdo Schimmel1-3/+6 2023-08-09selftests: forwarding: tc_flower: Relax success criterionIdo Schimmel1-4/+4 2023-08-09selftests: forwarding: tc_actions: Use ncat instead of ncIdo Schimmel1-2/+4 2023-08-09selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supportedIdo Schimmel1-5/+13 2023-08-09selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairsIdo Schimmel1-0/+2 2023-08-09selftests: forwarding: ethtool_extended_state: Skip when using veth pairsIdo Schimmel1-0/+2 2023-08-09selftests: forwarding: ethtool: Skip when using veth pairsIdo Schimmel1-0/+2 2023-08-09selftests: forwarding: Add a helper to skip test when using veth pairsIdo Schimmel1-0/+11 2023-08-09selftests: forwarding: Set default IPv6 traceroute utilityIdo Schimmel2-0/+3 2023-08-09selftests: forwarding: bridge_mdb_max: Check iproute2 versionIdo Schimmel1-0/+5 2023-08-09selftests: forwarding: bridge_mdb: Check iproute2 versionIdo Schimmel1-0/+5