Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mptcp: drop __mptcp_fastopen_gen_msk_ackseq()
When we will move the whole RX path under the msk socket lock, updating the already queued skb for passive fastopen socket at 3rd ack time will be extremely painful and race prone The map_seq for already enqueued skbs is used only to allow correct coalescing with later data; preventing collapsing to the first skb of a fastopen connect we can completely remove the __mptcp_fastopen_gen_msk_ackseq() helper. Before dropping this helper, a new item had to be added to the mptcp_skb_cb structure. Because this item will be frequently tested in the fast path -- almost on every packet -- and because there is free space there, a single byte is used instead of a bitfield. This micro optimisation slightly reduces the number of CPU operations to do the associated check. Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
- for-review
- t/DO-NOT-MERGE-git-markup-features-net-next
- t/DO-NOT-MERGE-git-markup-features-net-next-next
- t/DO-NOT-MERGE-git-markup-features-other-trees
- t/DO-NOT-MERGE-mptcp-enabled-by-default
- t/DO-NOT-MERGE-mptcp-use-kmalloc-on-kasan-build
- t/bpf-Acquire-and-release-mptcp-socket
- t/bpf-Add-bpf_mptcp_sched_kfunc_set
- t/bpf-Add-mptcp_subflow-bpf_iter
- t/bpf-Allow-use-of-skc_to_mptcp_sock-in-cg_sockopt
- t/bpf-Extend-bpf_skc_to_mptcp_sock-to-MPTCP-sock
- t/bpf-Register-mptcp-common-kfunc-set
- t/mptcp-add-a-build-check-for-userspace_pm_dump_addr
- t/mptcp-add-bpf_mptcp_sched_ops
- t/mptcp-add-id-parameter-for-get_addr
- t/mptcp-add-local-parameter-for-set_flags
- t/mptcp-add-mptcp_pm_genl_fill_addr-helper
- t/mptcp-add-sched_data-helpers-2
- t/mptcp-blackhole-avoid-checking-the-state-twice
- t/mptcp-change-rem-type-of-set_flags
- t/mptcp-cleanup-mem-accounting
- t/mptcp-dismiss-__mptcp_rmem
- t/mptcp-drop-__mptcp_fastopen_gen_msk_ackseq
- t/mptcp-drop-inet6_sk-after-inet_sk
- t/mptcp-drop-info-of-userspace_pm_remove_id_zero_address
- t/mptcp-drop-match-in-userspace_pm_append_new_local_addr
- t/mptcp-drop-skb-parameter-of-get_addr
- t/mptcp-drop-skb-parameter-of-set_flags
- t/mptcp-make-three-pm-wrappers-static
- t/mptcp-micro-optimize-__mptcp_move_skb
- t/mptcp-move-the-whole-rx-path-under-msk-socket-lock-protection
- t/mptcp-pm-avoid-calling-PM-specific-code-from-core
- t/mptcp-pm-change-to-fullmesh-only-for-subflow
- t/mptcp-pm-exit-early-with-ADD_ADDR-echo-if-possible
- t/mptcp-pm-export-mptcp_remote_address
- t/mptcp-pm-improve-error-messages
- t/mptcp-pm-in-kernel-avoid-access-entry-without-lock
- t/mptcp-pm-in-kernel-reduce-parameters-of-set_flags
- t/mptcp-pm-in-kernel-use-kmemdup-helper
- t/mptcp-pm-kernel-add-_pm-to-mptcp_nl_set_flags
- t/mptcp-pm-mark-missing-address-attributes
- t/mptcp-pm-more-precise-error-messages
- t/mptcp-pm-move-Netlink-PM-helpers-to-pm_netlink.c
- t/mptcp-pm-move-generic-PM-helpers-to-pm.c
- t/mptcp-pm-move-generic-helper-at-the-top
- t/mptcp-pm-remove-_nl-from-mptcp_pm_nl_addr_send_ack
- t/mptcp-pm-remove-_nl-from-mptcp_pm_nl_is_init_remote_addr
- t/mptcp-pm-remove-_nl-from-mptcp_pm_nl_mp_prio_send_ack
- t/mptcp-pm-remove-_nl-from-mptcp_pm_nl_rm_addr_received
- t/mptcp-pm-remove-_nl-from-mptcp_pm_nl_subflow_chk_stale
- t/mptcp-pm-remove-_nl-from-mptcp_pm_nl_work
- t/mptcp-pm-remove-duplicated-error-messages
- t/mptcp-pm-remove-unused-ret-value-to-set-flags
- t/mptcp-pm-split-in-kernel-PM-specific-code
- t/mptcp-pm-split-netlink-and-in-kernel-init
- t/mptcp-pm-use-NL_SET_ERR_MSG_ATTR-when-possible
- t/mptcp-pm-use-addr-entry-for-get_local_id
- t/mptcp-pm-use-pm-variable-instead-of-msk-pm
- t/mptcp-pm-userspace-flags-clearer-msg-if-no-remote-addr
- t/mptcp-pm-userspace-use-GENL_REQ_ATTR_CHECK
- t/mptcp-pm-worker-split-in-kernel-and-common-tasks
- t/mptcp-reuse-sending-nlmsg-code-in-get_addr
- t/mptcp-sched-reduce-size-for-unused-data
- t/mptcp-sched-remove-mptcp_sched_data
- t/mptcp-split-get_subflow-interface-into-two
- t/mptcp-sysctl-add-syn_retrans_before_tcp_fallback
- t/mptcp-use-ipv6_addr_equal-in-addresses_equal
- t/net-dismiss-sk_forward_alloc_get
- t/selftests-bpf-Add-bpf-scheduler-test
- t/selftests-bpf-Add-bpf_bkup-scheduler
- t/selftests-bpf-Add-bpf_burst-scheduler
- t/selftests-bpf-Add-bpf_red-scheduler
- t/selftests-bpf-Add-bpf_rr-scheduler
- t/selftests-bpf-Add-mptcp_subflow-bpf_iter-subtest
- t/selftests-bpf-Drop-cgroup_fd-of-run_mptcpify
- t/selftests-bpf-More-endpoints-for-endpoint_init
- t/selftests-bpf-add-bpf_first-scheduler
- t/selftests-mptcp-Add-a-tool-to-get-specific-msk_info
- t/selftests-mptcp-add-a-test-for-mptcp_diag_dump_one
- t/selftests-mptcp-add-m-with-ss-in-case-of-errors
- t/selftests-mptcp-connect-better-display-the-files-size
- t/selftests-mptcp-connect-remove-unused-variable
- t/selftests-mptcp-move-stats-info-in-case-of-errors-to-lib.sh
- t/selftests-mptcp-simult_flows-unify-errors-msgs
- t/selftests-mptcp-sockopt-save-nstat-infos
- t/upstream