zoukankan      html  css  js  c++  java
  • dpdk mempool debug

    common_ring_alloc
    [root@localhost mp_ring]# gdb build/app/test_ring
    GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-119.el7
    Copyright (C) 2013 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "aarch64-redhat-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /data1/dpdk-19.11/demo/mp_ring/build/app/test_ring...done.
    (gdb) set args -c 0x1f
    (gdb) b mempool_add_elem
    Breakpoint 1 at 0x584adc: file /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c, line 152.
    (gdb) b common_ring_alloc
    Breakpoint 2 at 0x589570: file /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c, line 52.
    (gdb) b common_ring_free
    Breakpoint 3 at 0x589694: file /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c, line 88.
    (gdb) b common_ring_mp_enqueue
    Breakpoint 4 at 0x587ee0: file /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c, line 16.
    (gdb) b common_ring_mc_dequeue
    Breakpoint 5 at 0x588a34: file /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c, line 31.
    (gdb) r
    Starting program: /data1/dpdk-19.11/demo/mp_ring/build/app/test_ring -c 0x1f
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    EAL: Detected 128 lcore(s)
    EAL: Detected 4 NUMA nodes
    [New Thread 0xffffbe43d910 (LWP 45024)]
    EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
    [New Thread 0xffffbdc2d910 (LWP 45025)]
    EAL: Selected IOVA mode 'PA'
    EAL: No available hugepages reported in hugepages-2048kB
    EAL: Probing VFIO support...
    [New Thread 0xffffbd40d910 (LWP 45026)]
    [New Thread 0xffffbcbfd910 (LWP 45027)]
    [New Thread 0xffffbc3ed910 (LWP 45028)]
    [New Thread 0xffffbbbdd910 (LWP 45029)]
    EAL: PCI device 0000:05:00.0 on NUMA socket 0
    EAL:   probe driver: 19e5:200 net_hinic
    net_hinic: Initializing pf hinic-0000:05:00.0 in primary process
    net_hinic: Device 0000:05:00.0 hwif attribute:
    net_hinic: func_idx:0, p2p_idx:0, pciintf_idx:0, vf_in_pf:0, ppf_idx:0, global_vf_id:15, func_type:2
    net_hinic: num_aeqs:4, num_ceqs:4, num_irqs:32, dma_attr:2
    net_hinic: Get public resource capability:
    net_hinic: host_id: 0x0, ep_id: 0x0, intr_type: 0x0, max_cos_id: 0x7, er_id: 0x0, port_id: 0x0
    net_hinic: host_total_function: 0xf2, host_oq_id_mask_val: 0x8, max_vf: 0x78
    net_hinic: pf_num: 0x2, pf_id_start: 0x0, vf_num: 0xf0, vf_id_start: 0x10
    net_hinic: Get share resource capability:
    net_hinic: host_pctxs: 0x0, host_cctxs: 0x0, host_scqs: 0x0, host_srqs: 0x0, host_mpts: 0x0
    net_hinic: Get l2nic resource capability:
    net_hinic: max_sqs: 0x10, max_rqs: 0x10, vf_max_sqs: 0x4, vf_max_rqs: 0x4
    
    Breakpoint 2, common_ring_alloc (mp=0x13febd600)
        at /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c:52
    52              int rg_flags = 0, ret;
    (gdb) bt
    #0  common_ring_alloc (mp=0x13febd600)
        at /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c:52
    #1  0x0000000000586c34 in rte_mempool_ops_alloc (mp=0x13febd600)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops.c:78
    #2  0x0000000000584f04 in mempool_ops_alloc_once (mp=0x13febd600)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:288
    #3  0x00000000005853e4 in rte_mempool_populate_default (mp=0x13febd600)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:467
    #4  0x0000000000545258 in rte_pktmbuf_pool_create_by_ops (
        name=0x13ff9a7a0 "hinic-0000:05:00.0", n=128, cache_size=0, 
        priv_size=0, data_room_size=4096, socket_id=0, ops_name=0x0)
        at /data1/dpdk-19.11/lib/librte_mbuf/rte_mbuf.c:150
    #5  0x00000000005452f4 in rte_pktmbuf_pool_create (
        name=0x13ff9a7a0 "hinic-0000:05:00.0", n=128, cache_size=0, 
        priv_size=0, data_room_size=4096, socket_id=0)
        at /data1/dpdk-19.11/lib/librte_mbuf/rte_mbuf.c:168
    #6  0x000000000078308c in hinic_copy_mempool_init (nic_dev=0x13ff9a500)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:2572
    #7  0x0000000000783710 in hinic_nic_dev_create (
    ---Type <return> to continue, or q <return> to quit---
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:2755
    #8  0x0000000000783b94 in hinic_func_init (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3009
    #9  0x0000000000783f5c in hinic_dev_init (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3105
    #10 0x000000000077e1c8 in rte_eth_dev_pci_generic_probe (
        pci_dev=0x116eac0, private_data_size=1320, 
        dev_init=0x783e78 <hinic_dev_init>)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_ethdev_pci.h:164
    #11 0x0000000000784028 in hinic_pci_probe (
        pci_drv=0xe23260 <rte_hinic_pmd>, pci_dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3147
    #12 0x00000000005d9eec in rte_pci_probe_one_driver (
        dr=0xe23260 <rte_hinic_pmd>, dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:199
    ---Type <return> to continue, or q <return> to quit---
    #13 0x00000000005da0e4 in pci_probe_all_drivers (dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:274
    #14 0x00000000005da1b0 in rte_pci_probe ()
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:309
    #15 0x00000000005a77b8 in rte_bus_probe ()
        at /data1/dpdk-19.11/lib/librte_eal/common/eal_common_bus.c:72
    #16 0x000000000058cb78 in rte_eal_init (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/lib/librte_eal/linux/eal/eal.c:1258
    #17 0x0000000000466f70 in main (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/demo/mp_ring/main.c:75

    rte_mempool_populate_default(struct rte_mempool *mp)

     

    common_ring_mp_enqueue
    rte_mempool_op_populate_helper
                    obj = va + off;
                    obj_cb(mp, obj_cb_arg, obj,
                           (iova == RTE_BAD_IOVA) ? RTE_BAD_IOVA : (iova + off));
                    rte_mempool_ops_enqueue_bulk(mp, &obj, 1);
    (gdb) c
    Continuing.
    
    Breakpoint 4, common_ring_mp_enqueue (mp=0x13febd600, 
        obj_table=0xffffffffec88, n=1)
        at /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c:16
    16              return rte_ring_mp_enqueue_bulk(mp->pool_data,
    (gdb) bt
    #0  common_ring_mp_enqueue (mp=0x13febd600, obj_table=0xffffffffec88, n=1)
        at /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c:16
    #1  0x0000000000586fc8 in rte_mempool_ops_enqueue_bulk (mp=0x13febd600, 
        obj_table=0xffffffffec88, n=1)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_mempool.h:786
    #2  0x000000000058749c in rte_mempool_op_populate_helper (mp=0x13febd600, 
        flags=0, max_objs=128, vaddr=0x13fdf2e00, iova=238905404928, 
        len=577920, obj_cb=0x584ac8 <mempool_add_elem>, obj_cb_arg=0x0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops_default.c:130
    #3  0x00000000005870f0 in rte_mempool_op_populate_default (mp=0x13febd600, 
        max_objs=128, vaddr=0x13fdf2e00, iova=238905404928, len=577920, 
        obj_cb=0x584ac8 <mempool_add_elem>, obj_cb_arg=0x0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops_default.c:143
    #4  0x0000000000586d9c in rte_mempool_ops_populate (mp=0x13febd600, 
        max_objs=128, vaddr=0x13fdf2e00, iova=238905404928, len=577920, 
        obj_cb=0x584ac8 <mempool_add_elem>, obj_cb_arg=0x0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops.c:134
    #5  0x00000000005850d8 in rte_mempool_populate_iova (mp=0x13febd600, 
    ---Type <return> to continue, or q <return> to quit---
        vaddr=0x13fdf2e00 "", iova=238905404928, len=577920, 
        free_cb=0x584d9c <rte_mempool_memchunk_mz_free>, opaque=0x1000127f0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:339
    #6  0x0000000000585348 in rte_mempool_populate_virt (mp=0x13febd600, 
        addr=0x13fdf2e00 "", len=577920, pg_sz=536870912, 
        free_cb=0x584d9c <rte_mempool_memchunk_mz_free>, opaque=0x1000127f0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:409
    #7  0x0000000000585668 in rte_mempool_populate_default (mp=0x13febd600)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:580
    #8  0x0000000000545258 in rte_pktmbuf_pool_create_by_ops (
        name=0x13ff9a7a0 "hinic-0000:05:00.0", n=128, cache_size=0, 
        priv_size=0, data_room_size=4096, socket_id=0, ops_name=0x0)
        at /data1/dpdk-19.11/lib/librte_mbuf/rte_mbuf.c:150
    #9  0x00000000005452f4 in rte_pktmbuf_pool_create (
        name=0x13ff9a7a0 "hinic-0000:05:00.0", n=128, cache_size=0, 
        priv_size=0, data_room_size=4096, socket_id=0)
        at /data1/dpdk-19.11/lib/librte_mbuf/rte_mbuf.c:168
    #10 0x000000000078308c in hinic_copy_mempool_init (nic_dev=0x13ff9a500)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:2572
    ---Type <return> to continue, or q <return> to quit---
    #11 0x0000000000783710 in hinic_nic_dev_create (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:2755
    #12 0x0000000000783b94 in hinic_func_init (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3009
    #13 0x0000000000783f5c in hinic_dev_init (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3105
    #14 0x000000000077e1c8 in rte_eth_dev_pci_generic_probe (
        pci_dev=0x116eac0, private_data_size=1320, 
        dev_init=0x783e78 <hinic_dev_init>)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_ethdev_pci.h:164
    #15 0x0000000000784028 in hinic_pci_probe (
        pci_drv=0xe23260 <rte_hinic_pmd>, pci_dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3147
    #16 0x00000000005d9eec in rte_pci_probe_one_driver (
        dr=0xe23260 <rte_hinic_pmd>, dev=0x116eac0)
    ---Type <return> to continue, or q <return> to quit---
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:199
    #17 0x00000000005da0e4 in pci_probe_all_drivers (dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:274
    #18 0x00000000005da1b0 in rte_pci_probe ()
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:309
    #19 0x00000000005a77b8 in rte_bus_probe ()
        at /data1/dpdk-19.11/lib/librte_eal/common/eal_common_bus.c:72
    #20 0x000000000058cb78 in rte_eal_init (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/lib/librte_eal/linux/eal/eal.c:1258
    #21 0x0000000000466f70 in main (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/demo/mp_ring/main.c:75
    (gdb) 
    (gdb)
    mempool_add_elem
    Breakpoint 1, mempool_add_elem (mp=0x13febd600, opaque=0x0, 
        obj=0x13fdf4000, iova=238905409536)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:152
    152             hdr = RTE_PTR_SUB(obj, sizeof(*hdr));
    (gdb) bt
    #0  mempool_add_elem (mp=0x13febd600, opaque=0x0, obj=0x13fdf4000, 
        iova=238905409536)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:152
    #1  0x000000000058748c in rte_mempool_op_populate_helper (mp=0x13febd600, 
        flags=0, max_objs=128, vaddr=0x13fdf2e00, iova=238905404928, 
        len=577920, obj_cb=0x584ac8 <mempool_add_elem>, obj_cb_arg=0x0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops_default.c:128
    #2  0x00000000005870f0 in rte_mempool_op_populate_default (mp=0x13febd600, 
        max_objs=128, vaddr=0x13fdf2e00, iova=238905404928, len=577920, 
        obj_cb=0x584ac8 <mempool_add_elem>, obj_cb_arg=0x0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops_default.c:143
    #3  0x0000000000586d9c in rte_mempool_ops_populate (mp=0x13febd600, 
        max_objs=128, vaddr=0x13fdf2e00, iova=238905404928, len=577920, 
        obj_cb=0x584ac8 <mempool_add_elem>, obj_cb_arg=0x0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool_ops.c:134
    #4  0x00000000005850d8 in rte_mempool_populate_iova (mp=0x13febd600, 
        vaddr=0x13fdf2e00 "", iova=238905404928, len=577920, 
        free_cb=0x584d9c <rte_mempool_memchunk_mz_free>, opaque=0x1000127f0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:339
    ---Type <return> to continue, or q <return> to quit---
    #5  0x0000000000585348 in rte_mempool_populate_virt (mp=0x13febd600, 
        addr=0x13fdf2e00 "", len=577920, pg_sz=536870912, 
        free_cb=0x584d9c <rte_mempool_memchunk_mz_free>, opaque=0x1000127f0)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:409
    #6  0x0000000000585668 in rte_mempool_populate_default (mp=0x13febd600)
        at /data1/dpdk-19.11/lib/librte_mempool/rte_mempool.c:580
    #7  0x0000000000545258 in rte_pktmbuf_pool_create_by_ops (
        name=0x13ff9a7a0 "hinic-0000:05:00.0", n=128, cache_size=0, 
        priv_size=0, data_room_size=4096, socket_id=0, ops_name=0x0)
        at /data1/dpdk-19.11/lib/librte_mbuf/rte_mbuf.c:150
    #8  0x00000000005452f4 in rte_pktmbuf_pool_create (
        name=0x13ff9a7a0 "hinic-0000:05:00.0", n=128, cache_size=0, 
        priv_size=0, data_room_size=4096, socket_id=0)
        at /data1/dpdk-19.11/lib/librte_mbuf/rte_mbuf.c:168
    #9  0x000000000078308c in hinic_copy_mempool_init (nic_dev=0x13ff9a500)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:2572
    #10 0x0000000000783710 in hinic_nic_dev_create (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:2755
    ---Type <return> to continue, or q <return> to quit---
    #11 0x0000000000783b94 in hinic_func_init (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3009
    #12 0x0000000000783f5c in hinic_dev_init (
        eth_dev=0x1001780 <rte_eth_devices>)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3105
    #13 0x000000000077e1c8 in rte_eth_dev_pci_generic_probe (
        pci_dev=0x116eac0, private_data_size=1320, 
        dev_init=0x783e78 <hinic_dev_init>)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_ethdev_pci.h:164
    #14 0x0000000000784028 in hinic_pci_probe (
        pci_drv=0xe23260 <rte_hinic_pmd>, pci_dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/net/hinic/hinic_pmd_ethdev.c:3147
    #15 0x00000000005d9eec in rte_pci_probe_one_driver (
        dr=0xe23260 <rte_hinic_pmd>, dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:199
    #16 0x00000000005da0e4 in pci_probe_all_drivers (dev=0x116eac0)
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:274
    ---Type <return> to continue, or q <return> to quit---
    #17 0x00000000005da1b0 in rte_pci_probe ()
        at /data1/dpdk-19.11/drivers/bus/pci/pci_common.c:309
    #18 0x00000000005a77b8 in rte_bus_probe ()
        at /data1/dpdk-19.11/lib/librte_eal/common/eal_common_bus.c:72
    #19 0x000000000058cb78 in rte_eal_init (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/lib/librte_eal/linux/eal/eal.c:1258
    #20 0x0000000000466f70 in main (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/demo/mp_ring/main.c:75
    common_ring_mc_dequeue 
    (gdb) bt
    #0  common_ring_mc_dequeue (mp=0x13faeac80, obj_table=0x13faead90, n=33)
        at /data1/dpdk-19.11/drivers/mempool/ring/rte_mempool_ring.c:31
    #1  0x0000000000464e04 in rte_mempool_ops_dequeue_bulk (mp=0x13faeac80, 
        obj_table=0x13faead90, n=33)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_mempool.h:739
    #2  0x0000000000465e18 in __mempool_generic_get (cache=0x13faead80, n=1, 
        obj_table=0xfffffffff158, mp=0x13faeac80)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_mempool.h:1443
    #3  rte_mempool_generic_get (cache=0x13faead80, n=1, 
        obj_table=0xfffffffff158, mp=0x13faeac80)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_mempool.h:1506
    #4  rte_mempool_get_bulk (n=1, obj_table=0xfffffffff158, mp=0x13faeac80)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_mempool.h:1539
    #5  rte_mempool_get (obj_p=0xfffffffff158, mp=0x13faeac80)
        at /data1/dpdk-19.11/arm64-armv8a-linuxapp-gcc/include/rte_mempool.h:156---Type <return> to continue, or q <return> to quit---
    5
    #6  enqueue_sample_data (ring=0x13febc200)
        at /data1/dpdk-19.11/demo/mp_ring/main.c:42
    #7  0x0000000000467098 in main (argc=3, argv=0xfffffffff528)
        at /data1/dpdk-19.11/demo/mp_ring/main.c:98
  • 相关阅读:
    使用 VBRichClient 库
    提取文件夹目录的办法
    编程语言转换
    解决linux服务器上matplotlib中文显示乱码问题
    动态规划 53:Maximum Subarray,152:Maximum Subarray,266. Palindrome Permutation 回文全排列
    动态规划:494,576
    ResourceExhaustedError 解决方案
    周赛138场
    leetcode 115
    leetcode 372
  • 原文地址:https://www.cnblogs.com/dream397/p/13668131.html
Copyright © 2011-2022 走看看