[openib-general] on calling rdma_disconnect from non sleepable context

Or Gerlitz ogerlitz at voltaire.com
Wed Feb 1 06:57:30 PST 2006


Sean,

I have now instrumented iser code to always call rdma_disconnect /
rdma_destory_qp etc from sleepable context. Before doing so i was getting
this oops few times. My interpertation was that cma_modify_qp_err is
not supposted to get called when in_atomic is true, am i correct?

Or.

Debug: sleeping function called from invalid context at mm/slab.c:2459
in_atomic():1, irqs_disabled():0

Call Trace: <IRQ> <ffffffff8012f337>{__might_sleep+199} <ffffffff80162452>{kmem_cache_alloc+34}
       <ffffffff8801b04f>{:ib_mthca:mthca_alloc_mailbox+47}
       <ffffffff880236a2>{:ib_mthca:mthca_modify_qp+850} <ffffffff8013168b>{try_to_wake_up+1083}
       <ffffffff880028ad>{:ib_core:ib_modify_qp+13} <ffffffff88067c66>{:rdma_cm:cma_modify_qp_err+38}
       <ffffffff8802148c>{:ib_mthca:mthca_free_err_wqe+44}
       <ffffffff8801fe91>{:ib_mthca:mthca_poll_cq+1697} <ffffffff8806713f>{:rdma_cm:cma_comp+63}
       <ffffffff88067c9c>{:rdma_cm:rdma_disconnect+44} <ffffffff8806e88d>{:ib_iser:iser_disconnect+13}
       <ffffffff88073f5b>{:ib_iser:iser_conn_async_terminate+59}
       <ffffffff8806e66e>{:ib_iser:iser_cq_tasklet_fn+206}
       <ffffffff8013ba09>{tasklet_action+105} <ffffffff8013bc8b>{__do_softirq+107}
       <ffffffff8010ec47>{call_softirq+31} <ffffffff801100d1>{do_softirq+49}
       <ffffffff80110114>{do_IRQ+52} <ffffffff8010ded0>{ret_from_intr+0}
        <EOI> <ffffffff80136bed>{printk+141} <ffffffff8027fc15>{acpi_processor_idle+314}
       <ffffffff8010ca4f>{cpu_idle+79} <ffffffff806344b4>{start_secondary+996}

scheduling while atomic: swapper/0x00000100/0

Call Trace: <IRQ> <ffffffff80426dcd>{schedule+125} <ffffffff801363a9>{release_console_sem+393}
       <ffffffff80136b2e>{vprintk+782} <ffffffff806344b4>{start_secondary+996}
       <ffffffff8806e66e>{:ib_iser:iser_cq_tasklet_fn+206}
       <ffffffff8806e66e>{:ib_iser:iser_cq_tasklet_fn+206}
       <ffffffff80428243>{wait_for_completion+179} <ffffffff801316a0>{default_wake_function+0}
       <ffffffff80428ece>{_spin_lock_irqsave+14} <ffffffff801316a0>{default_wake_function+0}
       <ffffffff8014009e>{__mod_timer+206} <ffffffff8801a5ff>{:ib_mthca:mthca_cmd_wait+399}
       <ffffffff8801a725>{:ib_mthca:mthca_cmd_box+69} <ffffffff8010f21c>{dump_stack+12}
       <ffffffff8801a778>{:ib_mthca:mthca_cmd+40} <ffffffff8801b3ba>{:ib_mthca:mthca_MODIFY_QP+266}
       <ffffffff88023cc5>{:ib_mthca:mthca_modify_qp+2421} <ffffffff8013168b>{try_to_wake_up+1083}
       <ffffffff880028ad>{:ib_core:ib_modify_qp+13} <ffffffff88067c66>{:rdma_cm:cma_modify_qp_err+38}
       <ffffffff8802148c>{:ib_mthca:mthca_free_err_wqe+44}
       <ffffffff8801fe91>{:ib_mthca:mthca_poll_cq+1697} <ffffffff8806713f>{:rdma_cm:cma_comp+63}
       <ffffffff88067c9c>{:rdma_cm:rdma_disconnect+44} <ffffffff8806e88d>{:ib_iser:iser_disconnect+13}
       <ffffffff88073f5b>{:ib_iser:iser_conn_async_terminate+59}
       <ffffffff8806e66e>{:ib_iser:iser_cq_tasklet_fn+206}
       <ffffffff8013ba09>{tasklet_action+105} <ffffffff8013bc8b>{__do_softirq+107}
       <ffffffff8010ec47>{call_softirq+31} <ffffffff801100d1>{do_softirq+49}
       <ffffffff80110114>{do_IRQ+52} <ffffffff8010ded0>{ret_from_intr+0}
        <EOI> <ffffffff80136bed>{printk+141} <ffffffff8027fc15>{acpi_processor_idle+314}
       <ffffffff8010ca4f>{cpu_idle+79} <ffffffff806344b4>{start_secondary+996}






More information about the general mailing list