[openib-general] RFC: detecting duplicate MAD requests
Sean Hefty
mshefty at ichips.intel.com
Wed Jun 14 09:39:34 PDT 2006
Michael S. Tsirkin wrote:
> Would keeping around MADs in the done list consume significant extra memory
> resources?
For kernel clients, it shouldn't consume any additional memory. For userspace
clients, it would continue to consume memory until a response were generated.
Currently, that memory is freed once the userspace application retrieves the MAD
from the kernel
> What limits this memory?
That's part of the discussion. Today, there is NO limit on how much memory a
userspace application can consume. It will continue to consume memory as long
as it doesn't call to receive a MAD.
> Would a small client that would normally
> just send RMPP, get a response and exit will be slowed down significantly while
> the agent learns?
Clients that send requests are unaffected. Clients that use one of the
pre-defined classes or known methods would also be unaffected. The learning
only affects new methods, and would typically be limited to the receiving one
MAD for each method.
> Would a buggy application confuse the umad module, corrupting
> the agent learns? Would a buggy application confuse the umad module, corrupting
> MAD processing for all other applications?
A buggy application would only affect itself, plus whoever it was trying to
communicate with. We can't really fix the latter though.
> The original approach by Jack of detecting, and dropping, duplicate responses
> instead of duplicate requests seemed much easier to me. The only disadvantage
> it has that I'm aware of is a slight performance hit for duplicate processing of
> each request. But all the done_list scans proposed seem even more CPU intensive.
Jack's approach results in scanning a list, plus has the overhead of of
duplicating the processing.
The other problem is that DS RMPP requires maintaining state between receiving a
request and the generation of a response. This approach provides a mechanism
that can be used to maintain that state (i.e. the received request). By
applying Jack's patch, I'll end up having to invent another way to store and
retrieve the state.
- Sean
More information about the general
mailing list