DPDK patches and discussions
 help / color / mirror / Atom feed
From: Venky Venkatesh <vvenkatesh@paloaltonetworks.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Cc: "Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
Subject: [dpdk-dev] DSW eventdev is getting "stuck"?
Date: Wed, 3 Apr 2019 18:17:32 +0000	[thread overview]
Message-ID: <3353B035-E890-4753-8863-5647DFE61E23@paloaltonetworks.com> (raw)
Message-ID: <20190403181732.Yn09zOkMteaRe7AaT6qXJs5NqPZ-6zQhAvFOxH8Oy-Y@z> (raw)

Hi,
I am using the DSW code from 18.11 with the default settings for all the #defines. Here are some more details:
I have an 8 port system with 1 queue.
All ports can inject events. Port 0 and 7 inject events rarely.
Ports 1-6 are linked to the queue and hence dequeue events.

I see that in steady state the total number enqueues into the system is much greater than the total number of dequeues.
eventdev deq#: 1948491 enq#: 1949007

However when I dump some of the data structure counters it doesn’t appear to be stuck. What may be going on?

Help appreciated
Thanks
-Venky

Below are the counters:


[root@PA-VM-venky ~]# cat y

      dev_credits_on_loan:                 883

------ port 0 --------

      port_0_new_enqueued:                 125

  port_0_forward_enqueued:                   0

  port_0_release_enqueued:                   0

  port_0_queue_0_enqueued:                 125

          port_0_dequeued:                   0

  port_0_queue_0_dequeued:                   0

        port_0_migrations:                   0

 port_0_migration_latency:                   0

port_0_event_proc_latency:                   0

  port_0_inflight_credits:                   3

              port_0_load:                  49

           port_0_last_bg:      39368511869708

------ port 1 --------

      port_1_new_enqueued:              138947

  port_1_forward_enqueued:              237896

  port_1_release_enqueued:                   0

  port_1_queue_0_enqueued:              376843

          port_1_dequeued:              475778

  port_1_queue_0_dequeued:              475778

        port_1_migrations:                   0

 port_1_migration_latency:                   0

port_1_event_proc_latency:              119069

  port_1_inflight_credits:                  13

              port_1_load:                   0

           port_1_last_bg:      77183632541672

------ port 2 --------

      port_2_new_enqueued:               88834

  port_2_forward_enqueued:              156687

  port_2_release_enqueued:                   0

  port_2_queue_0_enqueued:              245521

          port_2_dequeued:              313358

  port_2_queue_0_dequeued:              313358

        port_2_migrations:                   0

 port_2_migration_latency:                   0

port_2_event_proc_latency:              176184

  port_2_inflight_credits:                  15

              port_2_load:                   0

           port_2_last_bg:      77183632941696

------ port 3 --------

      port_3_new_enqueued:               73170

  port_3_forward_enqueued:               78087

  port_3_release_enqueued:                   0

  port_3_queue_0_enqueued:              151257

          port_3_dequeued:              165317

  port_3_queue_0_dequeued:              165317

        port_3_migrations:                   0

 port_3_migration_latency:                   0

port_3_event_proc_latency:              329601

  port_3_inflight_credits:                  66

              port_3_load:                   0

           port_3_last_bg:      77183632966910

------ port 4 --------

      port_4_new_enqueued:               93182

  port_4_forward_enqueued:               76422

  port_4_release_enqueued:                   0

  port_4_queue_0_enqueued:              169604

          port_4_dequeued:              207721

  port_4_queue_0_dequeued:              207721

        port_4_migrations:                   0

 port_4_migration_latency:                   0

port_4_event_proc_latency:              262259

  port_4_inflight_credits:                 114

              port_4_load:                   0

           port_4_last_bg:      77183632760588

------ port 5 --------

      port_5_new_enqueued:              144855

  port_5_forward_enqueued:              630897

  port_5_release_enqueued:                   0

  port_5_queue_0_enqueued:              775752

          port_5_dequeued:              633700

  port_5_queue_0_dequeued:              633700

        port_5_migrations:                   0

 port_5_migration_latency:                   0

port_5_event_proc_latency:               88203

  port_5_inflight_credits:                  64

              port_5_load:                   0

           port_5_last_bg:      77183632277448

------ port 6 --------

      port_6_new_enqueued:              153590

  port_6_forward_enqueued:               76315

  port_6_release_enqueued:                   0

  port_6_queue_0_enqueued:              229905

          port_6_dequeued:              152617

  port_6_queue_0_dequeued:              152617

        port_6_migrations:                   0

 port_6_migration_latency:                   0

port_6_event_proc_latency:              354408

  port_6_inflight_credits:                  92

              port_6_load:                   0

           port_6_last_bg:      77183632653092

------ port 7 --------

      port_7_new_enqueued:                   0

  port_7_forward_enqueued:                   0

  port_7_release_enqueued:                   0

  port_7_queue_0_enqueued:                   0

          port_7_dequeued:                   0

  port_7_queue_0_dequeued:                   0

        port_7_migrations:                   0

 port_7_migration_latency:                   0

port_7_event_proc_latency:                   0

  port_7_inflight_credits:                   0

              port_7_load:                   0



Below are the data structure values:


(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[0]->out_buffer_len

$2 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[1]->out_buffer_len

$3 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[2]->out_buffer_len

$4 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[3]->out_buffer_len

$5 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[4]->out_buffer_len

$6 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[5]->out_buffer_len

$7 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[6]->out_buffer_len

$8 = {0 <repeats 64 times>}

(gdb) p ((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[7]->out_buffer_len

$9 = {0 <repeats 64 times>}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[0]->in_ring

$10 = {r = {name = "dsw0_p0", '\000' <repeats 24 times>, flags = 6, memzone = 0xc000000090, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 0, tail = 0,

      single = 0}, pad1 = 0 '\000', cons = {head = 0, tail = 0, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[1]->in_ring

$11 = {r = {name = "dsw0_p1", '\000' <repeats 24 times>, flags = 6, memzone = 0xc000000120, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 475778,

      tail = 475778, single = 0}, pad1 = 0 '\000', cons = {head = 475778, tail = 475778, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[2]->in_ring

$12 = {r = {name = "dsw0_p2", '\000' <repeats 24 times>, flags = 6, memzone = 0xc0000001b0, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 313358,

      tail = 313358, single = 0}, pad1 = 0 '\000', cons = {head = 313358, tail = 313358, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[3]->in_ring

$13 = {r = {name = "dsw0_p3", '\000' <repeats 24 times>, flags = 6, memzone = 0xc000000240, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 165403,

      tail = 165403, single = 0}, pad1 = 0 '\000', cons = {head = 165403, tail = 165403, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[4]->in_ring

$14 = {r = {name = "dsw0_p4", '\000' <repeats 24 times>, flags = 6, memzone = 0xc0000002d0, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 208237,

      tail = 208237, single = 0}, pad1 = 0 '\000', cons = {head = 208237, tail = 208237, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[5]->in_ring

$15 = {r = {name = "dsw0_p5", '\000' <repeats 24 times>, flags = 6, memzone = 0xc000000360, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 633700,

      tail = 633700, single = 0}, pad1 = 0 '\000', cons = {head = 633700, tail = 633700, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[6]->in_ring

$16 = {r = {name = "dsw0_p6", '\000' <repeats 24 times>, flags = 6, memzone = 0xc0000003f0, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 152617,

      tail = 152617, single = 0}, pad1 = 0 '\000', cons = {head = 152617, tail = 152617, single = 1}, pad2 = 0 '\000'}}

(gdb) p *((struct dsw_evdev *)rte_eventdevs[0].data->dev_private)->ports[7]->in_ring

$17 = {r = {name = "dsw0_p7", '\000' <repeats 24 times>, flags = 6, memzone = 0xc000000480, size = 32768, mask = 32767, capacity = 16384, pad0 = 0 '\000', prod = {head = 0, tail = 0,

      single = 0}, pad1 = 0 '\000', cons = {head = 0, tail = 0, single = 1}, pad2 = 0 '\000'}}



             reply	other threads:[~2019-04-03 18:17 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-03 18:17 Venky Venkatesh [this message]
2019-04-03 18:17 ` Venky Venkatesh
2019-04-03 18:33 ` Mattias Rönnblom
2019-04-03 18:33   ` Mattias Rönnblom
2019-04-03 18:36   ` Venky Venkatesh
2019-04-03 18:36     ` Venky Venkatesh
2019-04-03 19:02     ` Mattias Rönnblom
2019-04-03 19:02       ` Mattias Rönnblom
2019-04-04  5:39       ` Venky Venkatesh
2019-04-04  5:39         ` Venky Venkatesh
2019-04-04  7:39         ` Mattias Rönnblom
2019-04-04  7:39           ` Mattias Rönnblom
2019-04-04 18:13           ` Venky Venkatesh
2019-04-04 18:13             ` Venky Venkatesh
2019-04-04 19:29             ` Mattias Rönnblom
2019-04-04 19:29               ` Mattias Rönnblom

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=3353B035-E890-4753-8863-5647DFE61E23@paloaltonetworks.com \
    --to=vvenkatesh@paloaltonetworks.com \
    --cc=dev@dpdk.org \
    --cc=mattias.ronnblom@ericsson.com \
    /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).