You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In nbdx_connect_work context, request will be sent in stack on_response->xio_release_response->xio_connection_xmit.
In nbdx_request context, request will be sent in stack
nbdx_transfer->xio_send_request->xio_connection_xmit.
Obviously, the two contexts are different, nbdx_connect_work
is xio connection context, nbdx_request is application context,
how to ensure xio send safely in this condition.
Thanks.
--haiwei.
The text was updated successfully, but these errors were encountered:
Ok, maybe nobody met this bug, I paste more details and solution.
In tcp transport condition, there are xio context loop thread and application thread,
kernel_sendmsg in xio_tcp_xmit will be scheduled, so the two threads enter
xio_tcp_xmit repeatly, panic is coming cause tmp_work.msg_len is demaged.
get_cpu/put_cpu disable preempt, but not enought for kernel_sendmsg scheduled,
we need a flag to avoid calling xio_tcp_xmit repeatly by the two threads, though they
are running in same cpu.
Hi,
In nbdx_connect_work context, request will be sent in stack on_response->xio_release_response->xio_connection_xmit.
In nbdx_request context, request will be sent in stack
nbdx_transfer->xio_send_request->xio_connection_xmit.
Obviously, the two contexts are different, nbdx_connect_work
is xio connection context, nbdx_request is application context,
how to ensure xio send safely in this condition.
Thanks.
--haiwei.
The text was updated successfully, but these errors were encountered: