On Wed, Nov 07, 2007 at 11:25:43PM -0500, Patrick Geoffray wrote:
> Richard Graham wrote:
> > The real problem, as you and others have pointed out is the lack of
> > predictable time slices for the progress engine to do its work, when relying
> > on the ULP to make calls into the library...
> The real, real problem is that the BTL should handle progression at
> their level, specially when the buffering is due to BTL-level flow
> control. When I write something into a socket, TCP will take care of
> sending it eventually, for example.
In the case of TCP, kernel is kind enough to progress message for you,
but only if there was enough space in a kernel internal buffers. If there
was no place there, TCP BTL will also buffer messages in userspace and
will, eventually, have the same problem.
To progress such outstanding messages additional thread is needed in
userspace. Is this what MX does?