mbuf: add dump of free dynamic flags
authorXiaolong Ye <xiaolong.ye@intel.com>
Sat, 13 Jun 2020 15:49:21 +0000 (23:49 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 25 Jun 2020 21:03:18 +0000 (23:03 +0200)
Add support to dump free_flags as below format:

Free bit in mbuf->ol_flags (0 = occupied, 1 = free):
  0000: 0 0 0 0 0 0 0 0
  0008: 0 0 0 0 0 0 0 0
  0010: 0 0 0 0 0 0 0 1
  0018: 1 1 1 1 1 1 1 1
  0020: 1 1 1 1 1 1 1 1
  0028: 1 0 0 0 0 0 0 0
  0030: 0 0 0 0 0 0 0 0
  0038: 0 0 0 0 0 0 0 0

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_mbuf/rte_mbuf_dyn.c

index f071651..538a43f 100644 (file)
@@ -559,5 +559,13 @@ void rte_mbuf_dyn_dump(FILE *out)
                fprintf(out, "%2.2x%s", shm->free_space[i],
                        (i % 8 != 7) ? " " : "\n");
        }
+       fprintf(out, "Free bit in mbuf->ol_flags (0 = occupied, 1 = free):\n");
+       for (i = 0; i < sizeof(uint64_t) * CHAR_BIT; i++) {
+               if ((i % 8) == 0)
+                       fprintf(out, "  %4.4zx: ", i);
+               fprintf(out, "%1.1x%s", (shm->free_flags & (1ULL << i)) ? 1 : 0,
+                       (i % 8 != 7) ? " " : "\n");
+       }
+
        rte_mcfg_tailq_write_unlock();
 }