[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Pls help: netfront tx ring frozen (any clues appreciated)

    We are running into a situation where rsp_prod index in the shared ring is not getting updated
for the netfront tx ring by the netback.

    We see that rsp_cons is the same value as rsp_prod, with req_prod 236 slots away(tx ring is full). 
From looking at the netfront driver code, it looks as if xennet_tx_buf_gc processing only happens if rsp_prod is more 
than rsp_cons.

   Our understanding is that netfront sets rsp_cons to tell the netback to start processing transmits
from rsp_cons index onwards till req_prod. Once netback is done process X requests, it will increment rsp_prod
by X. This will cause netfront to look at the status of each of individual responses for the slots starting
from rsp_cons till rsp_prod (with rsp_prod  - rsp_cons = X in this case).

   Is there anyway to workaround this ? Will xennet_disconnect_backend(), xennet_connect()
on the netfront cause us to recover from this stuck situation. We are ok with pending TX packets getting dropped
since we have TCP running on top.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.