Re: [net-next PATCH v3 3/5] net: Enable Tx queue selection based on Rx queues
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2018-06-06 18:57:07
On Tue, Jun 5, 2018 at 4:38 AM, Amritha Nambiar [off-list ref] wrote:
This patch adds support to pick Tx queue based on the Rx queue(s) map configuration set by the admin through the sysfs attribute for each Tx queue. If the user configuration for receive queue(s) map does not apply, then the Tx queue selection falls back to CPU(s) map based selection and finally to hashing. Signed-off-by: Amritha Nambiar <redacted> Signed-off-by: Sridhar Samudrala <sridhar.samudrala@intel.com> ---
quoted hunk ↗ jump to hunk
int sysctl_tcp_max_orphans __read_mostly = NR_FILE;@@ -5574,6 +5575,7 @@ void tcp_finish_connect(struct sock *sk, struct sk_buff *skb) if (skb) { icsk->icsk_af_ops->sk_rx_dst_set(sk, skb); security_inet_conn_established(sk, skb); + sk_mark_napi_id(sk, skb); }
This and the call below should be in a standalone patch, as the mark changes are not rxq-xps specific. Is the additional earlier marking really required? I would separate out the entire rxq caching with sk_rx_queue_mapping from the refactoring of get_xps_queue. The two changes are quite independent.
quoted hunk ↗ jump to hunk
tcp_init_transfer(sk, BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB);@@ -6402,6 +6404,7 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops, tcp_rsk(req)->snt_isn = isn; tcp_rsk(req)->txhash = net_tx_rndhash(); tcp_openreq_init_rwin(req, sk, dst); + sk_mark_rx_queue(req_to_sk(req), skb);