From: Mark Gray <mark.d.gray@redhat.com>
To: netdev@vger.kernel.org, dev@openvswitch.org
Cc: pshelar@ovn.org, davem@davemloft.net, kuba@kernel.org,
Mark Gray <mark.d.gray@redhat.com>
Subject: [PATCH net-next 2/3] openvswitch: fix alignment issues
Date: Fri, 23 Jul 2021 10:24:13 -0400 [thread overview]
Message-ID: <20210723142414.55267-3-mark.d.gray@redhat.com> (raw)
In-Reply-To: <20210723142414.55267-1-mark.d.gray@redhat.com>
Signed-off-by: Mark Gray <mark.d.gray@redhat.com>
---
include/uapi/linux/openvswitch.h | 4 ++--
net/openvswitch/actions.c | 6 ++++--
net/openvswitch/datapath.c | 16 ++++++++++------
3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index 0e436a3755f1..150bcff49b1c 100644
--- a/include/uapi/linux/openvswitch.h
+++ b/include/uapi/linux/openvswitch.h
@@ -89,8 +89,8 @@ enum ovs_datapath_attr {
OVS_DP_ATTR_USER_FEATURES, /* OVS_DP_F_* */
OVS_DP_ATTR_PAD,
OVS_DP_ATTR_MASKS_CACHE_SIZE,
- OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in per-cpu
- * dispatch mode
+ OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in
+ * per-cpu dispatch mode
*/
__OVS_DP_ATTR_MAX
};
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
index f79679746c62..076774034bb9 100644
--- a/net/openvswitch/actions.c
+++ b/net/openvswitch/actions.c
@@ -924,9 +924,11 @@ static int output_userspace(struct datapath *dp, struct sk_buff *skb,
break;
case OVS_USERSPACE_ATTR_PID:
- if (dp->user_features & OVS_DP_F_DISPATCH_UPCALL_PER_CPU)
+ if (dp->user_features &
+ OVS_DP_F_DISPATCH_UPCALL_PER_CPU)
upcall.portid =
- ovs_dp_get_upcall_portid(dp, smp_processor_id());
+ ovs_dp_get_upcall_portid(dp,
+ smp_processor_id());
else
upcall.portid = nla_get_u32(a);
break;
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index 7a4edafdc685..e6f0ae5618dd 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c
@@ -244,7 +244,8 @@ void ovs_dp_process_packet(struct sk_buff *skb, struct sw_flow_key *key)
upcall.cmd = OVS_PACKET_CMD_MISS;
if (dp->user_features & OVS_DP_F_DISPATCH_UPCALL_PER_CPU)
- upcall.portid = ovs_dp_get_upcall_portid(dp, smp_processor_id());
+ upcall.portid =
+ ovs_dp_get_upcall_portid(dp, smp_processor_id());
else
upcall.portid = ovs_vport_find_upcall_portid(p, skb);
@@ -1636,13 +1637,16 @@ u32 ovs_dp_get_upcall_portid(const struct datapath *dp, uint32_t cpu_id)
if (dp_nlsk_pids) {
if (cpu_id < dp_nlsk_pids->n_pids) {
return dp_nlsk_pids->pids[cpu_id];
- } else if (dp_nlsk_pids->n_pids > 0 && cpu_id >= dp_nlsk_pids->n_pids) {
- /* If the number of netlink PIDs is mismatched with the number of
- * CPUs as seen by the kernel, log this and send the upcall to an
- * arbitrary socket (0) in order to not drop packets
+ } else if (dp_nlsk_pids->n_pids > 0 &&
+ cpu_id >= dp_nlsk_pids->n_pids) {
+ /* If the number of netlink PIDs is mismatched with
+ * the number of CPUs as seen by the kernel, log this
+ * and send the upcall to an arbitrary socket (0) in
+ * order to not drop packets
*/
pr_info_ratelimited("cpu_id mismatch with handler threads");
- return dp_nlsk_pids->pids[cpu_id % dp_nlsk_pids->n_pids];
+ return dp_nlsk_pids->pids[cpu_id %
+ dp_nlsk_pids->n_pids];
} else {
return 0;
}
--
2.27.0
next prev parent reply other threads:[~2021-07-23 14:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-23 14:24 [PATCH net-next 0/3] openvswitch: per-cpu upcall patchwork issues Mark Gray
2021-07-23 14:24 ` [PATCH net-next 1/3] openvswitch: update kdoc OVS_DP_ATTR_PER_CPU_PIDS Mark Gray
2021-07-23 14:24 ` Mark Gray [this message]
2021-07-23 14:24 ` [PATCH net-next 3/3] openvswitch: fix sparse warning incorrect type Mark Gray
2021-07-27 11:00 ` [PATCH net-next 0/3] openvswitch: per-cpu upcall patchwork issues patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210723142414.55267-3-mark.d.gray@redhat.com \
--to=mark.d.gray@redhat.com \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pshelar@ovn.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).