[LU-7475] lnetctl import not honoring nbuffers, credits, or mincredits Created: 24/Nov/15 Updated: 16/Jan/16 Resolved: 14/Dec/15 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.7.0 |
| Fix Version/s: | Lustre 2.8.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Jesse Hanley | Assignee: | Amir Shehata (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
RHEL 6.6 |
||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
Using lnetctl import produces different results than using lnet module parameters. Entry in lnet.conf modprobe file: options lnet check_routers_before_use=1 \
router_ping_timeout=130 \
dead_router_check_interval=300 \
live_router_check_interval=600\
tiny_router_buffers=8192 \
small_router_buffers=131072 \
large_router_buffers=4096 \
peer_buffer_credits=64
options lnet forwarding="enabled"
Will create the following setup: # lnetctl routing show
routing:
- cpt[0]:
tiny:
npages: 0
nbuffers: 2048
credits: 2048
mincredits: 2048
small:
npages: 1
nbuffers: 32768
credits: 32768
mincredits: 32768
large:
npages: 256
nbuffers: 1024
credits: 1024
mincredits: 1024
......
But, specifying these parameters in /etc/sysconfig/lnet.conf does not. Entry in /etc/sysconfig/lnet.conf: routing:
- cpt[0]:
tiny:
npages: 0
nbuffers: 2048
credits: 2048
mincredits: 2048
small:
npages: 1
nbuffers: 32768
credits: 32768
mincredits: 32768
large:
npages: 256
nbuffers: 1024
credits: 1024
mincredits: 1024
Result: # lnetctl routing show
routing:
- cpt[0]:
tiny:
npages: 0
nbuffers: 512
credits: 512
mincredits: 512
small:
npages: 1
nbuffers: 4096
credits: 4096
mincredits: 4096
large:
npages: 256
nbuffers: 256
credits: 256
mincredits: 256
......
Are these settings not supported by lnetctl, or is using the module parameters still the preferred method? Thanks! |
| Comments |
| Comment by Amir Shehata (Inactive) [ 24/Nov/15 ] |
|
The syntax to configure buffers from YAML is: routing:
enable: 1
buffers:
tiny: 8192
small: 131072
large: 4096
|
| Comment by Andreas Dilger [ 25/Nov/15 ] |
|
Amir, it should be possible to take the output of lnetctl show and use that as the input (i.e. the input and output should describe the same parameters in the same way). |
| Comment by Jesse Hanley [ 25/Nov/15 ] |
|
Thanks for the info Amir. I just tested it and it appears to work as expected. Does this just mean that the buffers section should be added to lnetctl export and to the man page? |
| Comment by Amir Shehata (Inactive) [ 25/Nov/15 ] |
|
I think the best way to do it is to sum up the output of the routing YAML block for each of the tiny/small/large buffers and add it in the show block as the buffers section. I think we need to do that because if you have multiple CPTs in the system, then when you show routing, each CPT will show the number of buffers assigned to it. But if you want to use the output to configure and get the exact same result, the total number of buffers should be fed back to LNet, and the only way to do that is to sum up the buffers for all the CPTs. Technically, you can do that in the LNet module, but I would rather keep these type of calculations in user space. I'll create a patch for this. |
| Comment by Gerrit Updater [ 27/Nov/15 ] |
|
Amir Shehata (amir.shehata@intel.com) uploaded a new patch: http://review.whamcloud.com/17370 |
| Comment by Jesse Hanley [ 30/Nov/15 ] |
|
Thanks Amir. Will this also allow us to set the lnet params for check_routers_before_use, avoid_asym_router_failure, live_router_check_interval, dead_router_check_interval, and router_ping_timeout, or will we still need to use a modprofile file for this? Thanks again, |
| Comment by James A Simmons [ 01/Dec/15 ] |
|
Currently there is no way to set those values outside of the modprobe config file |
| Comment by Gerrit Updater [ 13/Dec/15 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/17370/ |
| Comment by Peter Jones [ 14/Dec/15 ] |
|
Landed for .2.8 |