Details
-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
I thought we could simplify how the lnet/lnd tunables are passed from userspace to kernel. The current logic is a little confusing because we only send the tunables to kernel when user specifies one of them, but if one gets set then we need to ensure that some of the others are set as well so that they are interpreted correctly by the kernel code and then another special case for lnd_tos which always gets set for tcp and o2ib networks.
In effect, tunables always gets passed for tcp and o2ib networks, but not other network types unless user specifies some parameter.
All the special cases make it hard to ensure we're doing the right thing, and have resulted in some bugs in the past.
We have a convention where special tunable values tell the kernel to use the module parameter (default). e.g. peer_credits = -1. I want to do this consistently in user-space, for all of the tunables, so that we can avoid all the special cases.
Another issue is that there is a lot of nearly identical code for getting/setting the tunable values. I want to use a table-driven approach to get rid of the duplication and make it easier when adding future parameters.
Attachments
Issue Links
- is related to
-
LU-18417 Finish IPv6 support
-
- Open
-