[prev in list] [next in list] [prev in thread] [next in thread]
List: dpdk-users
Subject: Re: [dpdk-users] Crash in virtio pmd - dpdk 18.11
From: Tiwei Bie <tiwei.bie () intel ! com>
Date: 2019-05-20 9:02:44
Message-ID: 20190520090244.GA16837 () ___
[Download RAW message or body]
Hi Sanjay,
On Mon, May 20, 2019 at 04:30:33AM +0000, Rao, Sanjay wrote:
> I upgraded to dodk 18.11 and still see the crash at the exact same place in the \
> driver code. Greatly appreciate if somebody familiar with the code help me resolve \
> this.
Could you provide some steps about how to reproduce this crash?
Thanks,
Tiwei
>
> Thread 15 "lcore-slave-3" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffda1fc700 (LWP 5881)]
> 0x00000000005b4889 in virtqueue_enqueue_xmit (txvq=0x17ffc3e00, cookie=0x17530be80, \
> needed=1, use_indirect=0, can_push=1, in_order=0) at \
> /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c:476 \
> 476 /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c: \
> No such file or directory. (gdb) bt
> #0 0x00000000005b4889 in virtqueue_enqueue_xmit (txvq=0x17ffc3e00, \
> cookie=0x17530be80, needed=1, use_indirect=0, can_push=1, in_order=0) at \
> /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c:476 #1 \
> 0x00000000005b6e2d in virtio_xmit_pkts (tx_queue=0x17ffc3e00, tx_pkts=0x7fd0fcc0 \
> <lcore_conf+18304>, nb_pkts=25) at \
> /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c:1423 \
> #2 0x00000000005fae28 in rte_eth_tx_burst (nb_pkts=<optimized out>, \
> tx_pkts=0x7fd0fcc0 <lcore_conf+18304>, queue_id=0, port_id=1) at \
> /home/srao/github/athena-master/output/RHEL-6/gcc492/mode1/dpdk/include/rte_ethdev.h:4158
> #3 send_burst (port=1 '\001', n=25, qconf=0x7fd0f980 <lcore_conf+17472>) at \
> source/fanout/fastfanout/ffmain.c:559 #4 worker_loop (lcore_id=<optimized out>) at \
> source/fanout/fastfanout/ffmain.c:2922 #5 0x00000000004c3255 in eal_thread_loop ()
> #6 0x00007ffff7782aa1 in start_thread () from /lib64/libpthread.so.0
> #7 0x00007ffff6b26bdd in clone () from /lib64/libc.so.6
> (gdb) p head_idx
> $1 = 32768
> (gdb) p vq->vq_descx[idx]
> $2 = {cookie = 0x0, ndescs = 0}
> (gdb) p dxp->cookie
> $3 = (void *) 0x0
> (gdb) p dxp
> $4 = (struct vq_desc_extra *) 0x180043fa0
> (gdb) p *dxp
> $5 = {cookie = 0x0, ndescs = 0}
> (gdb) p cookie
> $6 = (struct rte_mbuf *) 0x17530be80
>
>
> From: Rao Sanjay <srao@verisign.com>
> Date: Monday, May 6, 2019 at 5:09 PM
> To: "users@dpdk.org" <users@dpdk.org>
> Subject: Crash in virtio pmd - dpdk 17.11.4
>
> My apologies if this is already reported. I am seeing a crash in \
> virtqueue_enqueue_xmit() function at line#291 in drivers/net/virtio_rxtx.c. This is \
> in DPDK version 17.11.4 and happens under a sustained heavy traffic.
> static inline void
> virtqueue_enqueue_xmit(struct virtnet_tx *txvq, struct rte_mbuf *cookie,
> uint16_t needed, int use_indirect, int can_push)
> {
> struct virtio_tx_region *txr = txvq->virtio_net_hdr_mz->addr;
> struct vq_desc_extra *dxp;
> struct virtqueue *vq = txvq->vq;
> struct vring_desc *start_dp;
> uint16_t seg_num = cookie->nb_segs;
> uint16_t head_idx, idx;
> uint16_t head_size = vq->hw->vtnet_hdr_size;
> struct virtio_net_hdr *hdr;
> int offload;
>
> offload = tx_offload_enabled(vq->hw);
> head_idx = vq->vq_desc_head_idx;
> idx = head_idx;
> dxp = &vq->vq_descx[idx]; <-- idx is VQ_RING_DESC_CHAIN_END
>
> ---------
> }
>
> Can somebody familiar with this code let me know if there is any work around for \
> this.
> Thanks
> Sanjay
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic