[openib-general] Re: Re: [PATCH] [CMA] support loopback addresses
Michael S. Tsirkin
mst at mellanox.co.il
Wed Dec 28 14:49:10 PST 2005
Quoting r. Sean Hefty <mshefty at ichips.intel.com>:
> Subject: Re: Re: [PATCH] [CMA] support loopback addresses
>
> Michael S. Tsirkin wrote:
> >>+ INIT_WORK(work, loopback_addr_handler, id_priv);
> >>+ queue_work(wq, work);
> >>+ return 0;
> >>+err:
> >>+ kfree(work);
> >>+ return ret;
> >>+}
> >
> > I'm not following this: why are we deferring the work?
> > Cant it be done directly?
>
> To keep rdma_resolve_addr() generic, it is an asynchronous call. The work
> queue is used to callback the user from a separate thread other than the one
> that they called down with. The ib_addr module does something similar when
> the destination address is actually a local address, deferring the callback to
> another thread.
Maybe this should be moved to ib_addr then?
>
> The alternative is to have the API behave one way for destination addresses that
> are local, versus those that are remote, but this complicates applications that
> are not aware if an address belongs to the local or a remote system.
>
> - Sean
So, maybe we can reuse the ib_addr wq? Having all requests complete from
a single thread could help applications, I think.
--
MST
More information about the general
mailing list