On 22.10.2019 11:34, Gowrishankar Muthukrishnan wrote:
There is no log about isolated rxq assignment in a pmd today, which
sometimes could be useful to trace rxq/pmd pinning, when debugging
with log. Ovs-appctl dpif-netdev/pmd-rxq-show reports about it
already, but logging is helpful to trace pinning in time.

Changes:
   v2: init numa_id for the info.

Reported-at: https://bugzilla.redhat.com/1728616
Signed-off-by: Gowrishankar Muthukrishnan <[email protected]>
---

Hi Gowrishankar,
Thanks for the patch.  I like the idea of this additional log.

Few comments for implementation inline.

Best regards, Ilya Maximets.

  lib/dpif-netdev.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 4546b55e8..4d7c36787 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -4573,6 +4573,11 @@ rxq_scheduling(struct dp_netdev *dp, bool pinned) 
OVS_REQUIRES(dp->port_mutex)
                      q->pmd = pmd;
                      pmd->isolated = true;
                      dp_netdev_pmd_unref(pmd);

Print should go before dropping the pmd reference.

+                    numa_id = netdev_get_numa_id(q->port->netdev);
+                    VLOG_INFO("Core %d on numa node %d assigned port \'%s\' "
+                          "rx queue %d.", pmd->core_id, numa_id,

'numa_id' is not correct.  You need to print the numa_id of the core/thread,
not the numa_id of netdev.  So, there should be 'pmd->numa_id' instead.

And, please, align the arguments to the next symbol after '(', i.e. 4 spaces
to the right.

+                          netdev_rxq_get_name(q->rx),
+                          netdev_rxq_get_queue_id(q->rx));
                  }
              } else if (!pinned && q->core_id == OVS_CORE_UNSPEC) {
                  uint64_t cycle_hist = 0;

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to