Re: PCI memory sync question (kvm,dpdk,e1000,packet stalled)

2022-05-23 Thread Ding Hui
Hi ASM I think I meet the almost exactly same issue with ASM (qemu e1000 tap, guest run dpdk), in our environment, rather than your github project It seems that the desc (not only status filed, we also traced buffer_addr and csum) changed to old value suddenly after guest dpdk set status to

Re: PCI memory sync question (kvm,dpdk,e1000,packet stalled)

2020-01-02 Thread Stefan Hajnoczi
On Mon, Dec 30, 2019 at 01:10:15PM +0300, ASM wrote: > > It could be a bug in QEMU's e1000 emulation - maybe it's not doing > > things in the correct order and causes a race condition with the DPDK > > polling driver - or it could be a bug in the DPDK e1000 driver regarding > > the order in which t

Re: PCI memory sync question (kvm,dpdk,e1000,packet stalled)

2019-12-30 Thread ASM
> It could be a bug in QEMU's e1000 emulation - maybe it's not doing > things in the correct order and causes a race condition with the DPDK > polling driver - or it could be a bug in the DPDK e1000 driver regarding > the order in which the descriptor ring and RX Head/Tail MMIO registers > are upda

Re: PCI memory sync question (kvm,dpdk,e1000,packet stalled)

2019-12-19 Thread Stefan Hajnoczi
On Wed, Nov 27, 2019 at 03:39:03PM +0300, ASM wrote: > When the packet is received, e1000 writes it to memory directrly > without any RCU. > The address of memory for writing is set by the driver from dpdk driver. > Driver writes to RDBA (RDBAH,RDBAL) base address of ring. > > It turns out that MM

Re: PCI memory sync question (kvm,dpdk,e1000,packet stalled)

2019-11-27 Thread ASM
Stefan, thanks for answering. When the packet is received, e1000 writes it to memory directrly without any RCU. The address of memory for writing is set by the driver from dpdk driver. Driver writes to RDBA (RDBAH,RDBAL) base address of ring. It turns out that MMIO RCU (mentioned from e1000_mmio_

Re: PCI memory sync question (kvm,dpdk,e1000,packet stalled)

2019-11-21 Thread Stefan Hajnoczi
On Wed, Nov 20, 2019 at 08:36:32PM +0300, ASM wrote: > I trying solve the problem, with packets stopping (e1000,tap,kvm). > My studies led to the following: > 1. From flatview_write_continue() I see, what e1000 writes the number > "7" to the STAT register. > 2. The driver from target OS reads STAT