Re: [RFC] Clear out stuck ops to prevent iSER from going init D state

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

 



On Tue, Jan 24, 2017 at 3:37 AM, Max Gurtovoy <maxg@xxxxxxxxxxxx> wrote:
> Robert,
> can you please try replacing the ib_drain_qp with ib_drain_rq ? or make sure
> ib_drain_qp don't stuck.
> in the past (before v4.6) we sent "recv_beacon" on the isert disconnect
> flow.
> I suspect that area.
>
> Max.

It is getting stuck in target_wait_for_sess_cmds. ib_drain_qp is
returning just fine. I put in a bunch of debug statements and here is
a clip of them from a previous test.

[Tue Jan  3 16:55:24 2017] Starting iscsit_close_connection.
[Tue Jan  3 16:55:24 2017] Calling flush_workqueue.
[Tue Jan  3 16:55:24 2017] Returned from flush_workqueue.
[Tue Jan  3 16:55:25 2017] isert_wait_conn calling ib_close_qp/ib_drain_qp.
[Tue Jan  3 16:55:25 2017] isert_wait_conn finished ib_close_qp/ib_drain_qp.
[Tue Jan  3 16:55:25 2017] isert_wait_conn calling isert_put_unsol_pending_cmds.
[Tue Jan  3 16:55:25 2017] isert_wait_conn returned from
isert_put_unsol_pending_cmds.
[Tue Jan  3 16:55:25 2017] isert_wait_conn calling isert_wait4cmds.
[Tue Jan  3 16:55:25 2017] isert_wait4cmds calling
target_sess_cmd_list_set_waiting.
[Tue Jan  3 16:55:25 2017] isert_wait4cmds returned from
target_sess_cmd_list_set_waiting.
[Tue Jan  3 16:55:25 2017] isert_wait4cmds calling target_wait_for_sess_cmds.
[Tue Jan  3 16:55:25 2017] Waiting for se_cmd: ffff887ebf88bd00
t_state: 6, fabric state: 29
[Tue Jan  3 16:55:25 2017] target_wait_for_sess_cmds calling
spin_unlock_irqrestore.
[Tue Jan  3 16:55:25 2017] target_wait_for_sess_cmds calling
wait_for_completion.
[Tue Jan  3 16:55:26 2017] Calling wait_for_common.
[Tue Jan  3 16:55:27 2017] Starting __wait_for_common.
[Tue Jan  3 16:55:27 2017] Calling do_wait_for_common.
[Tue Jan  3 16:55:27 2017] Starting do_wait_for_common with x->done = 0.
[Tue Jan  3 16:55:27 2017] x->done = 0.
[Tue Jan  3 16:55:27 2017] Calling __set_current_state.
[Tue Jan  3 16:55:27 2017] Calling spin_unlock_irq.
[Tue Jan  3 16:55:27 2017] Calling action(7fffffffffffffff).
[Tue Jan  3 16:55:27 2017] Starting schedule_timeout with timeout
7fffffffffffffff (7fffffffffffffff).
[Tue Jan  3 16:55:27 2017] Starting schedule() in switch.
[Tue Jan  3 16:55:27 2017] Finished schedule() in switch.
[Tue Jan  3 16:55:27 2017] Calling spin_lock_irq.
[Tue Jan  3 16:55:27 2017] Calling __remove_wait_queue.
[Tue Jan  3 16:55:27 2017] Returned from __remove_wait_queue.
[Tue Jan  3 16:55:27 2017] Finished do_wait_for_common with x->done = 0.
[Tue Jan  3 16:55:27 2017] Returned from do_wait_for_common.
[Tue Jan  3 16:55:27 2017] Finished __wait_for_common.
[Tue Jan  3 16:55:27 2017] Returned from wait_for_common.
[Tue Jan  3 16:55:27 2017] Calling wait_for_common.
[Tue Jan  3 16:55:27 2017] Starting __wait_for_common.
[Tue Jan  3 16:55:27 2017] Calling do_wait_for_common.
[Tue Jan  3 16:55:27 2017] Starting do_wait_for_common with x->done = 0.
[Tue Jan  3 16:55:27 2017] x->done = 0.
[Tue Jan  3 16:55:27 2017] Calling __set_current_state.
[Tue Jan  3 16:55:27 2017] Calling spin_unlock_irq.
[Tue Jan  3 16:55:27 2017] Calling action(7fffffffffffffff).
[Tue Jan  3 16:55:27 2017] Starting schedule_timeout with timeout
7fffffffffffffff (7fffffffffffffff).
[Tue Jan  3 16:55:27 2017] Starting schedule() in switch.
[Tue Jan  3 16:55:27 2017] Finished schedule() in switch.
[Tue Jan  3 16:55:27 2017] Calling spin_lock_irq.
[Tue Jan  3 16:55:27 2017] Calling __remove_wait_queue.

If you think changing ib_drain_qp to ib_drain_rq might still help, I can do it.

Thanks,
----------------
Robert LeBlanc
PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux