요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
==========
SMC Sysctl
==========
/proc/sys/net/smc/* Variables
=============================
autocorking_size - INTEGER
Setting SMC auto corking size:
SMC auto corking is like TCP auto corking from the application's
perspective of view. When applications do consecutive small
write()/sendmsg() system calls, we try to coalesce these small writes
as much as possible, to lower total amount of CDC and RDMA Write been
sent.
autocorking_size limits the maximum corked bytes that can be sent to
the under device in 1 single sending. If set to 0, the SMC auto corking
is disabled.
Applications can still use TCP_CORK for optimal behavior when they
know how/when to uncork their sockets.
Default: 64K
smcr_buf_type - INTEGER
Controls which type of sndbufs and RMBs to use in later newly created
SMC-R link group. Only for SMC-R.
Default: 0 (physically contiguous sndbufs and RMBs)
Possible values:
- 0 - Use physically contiguous buffers
- 1 - Use virtually contiguous buffers
- 2 - Mixed use of the two types. Try physically contiguous buffers first.
If not available, use virtually contiguous buffers then.
smcr_testlink_time - INTEGER
How frequently SMC-R link sends out TEST_LINK LLC messages to confirm
viability, after the last activity of connections on it. Value 0 means
disabling TEST_LINK.
Default: 30 seconds.
wmem - INTEGER
Initial size of send buffer used by SMC sockets.
The minimum value is 16KiB and there is no hard limit for max value, but
only allowed 512KiB for SMC-R and 1MiB for SMC-D.
Default: 64KiB
rmem - INTEGER
Initial size of receive buffer (RMB) used by SMC sockets.
The minimum value is 16KiB and there is no hard limit for max value, but
only allowed 512KiB for SMC-R and 1MiB for SMC-D.
Default: 64KiB
smcr_max_links_per_lgr - INTEGER
Controls the max number of links can be added to a SMC-R link group. Notice that
the actual number of the links added to a SMC-R link group depends on the number
of RDMA devices exist in the system. The acceptable value ranges from 1 to 2. Only
for SMC-R v2.1 and later.
Default: 2
smcr_max_conns_per_lgr - INTEGER
Controls the max number of connections can be added to a SMC-R link group. The
acceptable value ranges from 16 to 255. Only for SMC-R v2.1 and later.
Default: 255
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
SMC auto corking
1-26SMC 변수는 `/proc/sys/net/smc/*` 아래에 있습니다. `autocorking_size`는 응용 관점에서 TCP auto corking과 비슷하게 연속된 작은 `write()` 또는 `sendmsg()`를 가능한 한 합쳐 CDC와 RDMA Write 전송 횟수를 줄입니다.
이 값은 한 번의 하위 장치 송신에 넣을 수 있는 corked byte 최대량입니다. 0이면 SMC auto corking을 끕니다. 응용 프로그램이 socket을 언제 uncork할지 안다면 계속 `TCP_CORK`를 사용해 더 정확히 제어할 수 있습니다. 기본값은 64K입니다.
.. SPDX-License-Identifier: GPL-2.0
==========
SMC Sysctl
==========
/proc/sys/net/smc/* Variables
=============================
autocorking_size - INTEGER
Setting SMC auto corking size:
SMC auto corking is like TCP auto corking from the application's
perspective of view. When applications do consecutive small
write()/sendmsg() system calls, we try to coalesce these small writes
as much as possible, to lower total amount of CDC and RDMA Write been
sent.
autocorking_size limits the maximum corked bytes that can be sent to
the under device in 1 single sending. If set to 0, the SMC auto corking
is disabled.
Applications can still use TCP_CORK for optimal behavior when they
know how/when to uncork their sockets.
Default: 64K
smcr_buf_type - INTEGER
Controls which type of sndbufs and RMBs to use in later newly created
SMC-R buffer 형식과 TEST_LINK
27-43`smcr_buf_type`은 이후 새로 만드는 SMC-R link group에서 send buffer와 RMB의 메모리 연속 형식을 정합니다. 0은 physically contiguous buffer, 1은 virtually contiguous buffer, 2는 physical을 먼저 시도하고 없으면 virtual로 fallback하는 혼합 모드입니다. SMC-R에만 적용하며 기본값은 0입니다.
`smcr_testlink_time`은 SMC-R link의 마지막 connection 활동 뒤 생존 확인용 TEST_LINK LLC message를 보내는 주기입니다. 0은 TEST_LINK 비활성이고 기본값은 30초입니다.
새 link group의 sndbuf와 RMB 할당 방식을 선택합니다.
SMC-R link group. Only for SMC-R.
Default: 0 (physically contiguous sndbufs and RMBs)
Possible values:
- 0 - Use physically contiguous buffers
- 1 - Use virtually contiguous buffers
- 2 - Mixed use of the two types. Try physically contiguous buffers first.
If not available, use virtually contiguous buffers then.
smcr_testlink_time - INTEGER
How frequently SMC-R link sends out TEST_LINK LLC messages to confirm
viability, after the last activity of connections on it. Value 0 means
disabling TEST_LINK.
Default: 30 seconds.
초기 송수신 buffer 크기
44-61`wmem`은 SMC socket의 초기 send buffer 크기이고 `rmem`은 초기 receive buffer, 즉 RMB 크기입니다. 둘 다 최소 16KiB이며 문법상 최대 hard limit은 없지만 실제 허용 상한은 SMC-R에서 512KiB, SMC-D에서 1MiB입니다. 두 기본값은 모두 64KiB입니다.
송수신 buffer가 같은 범위와 기본값을 사용합니다.
wmem - INTEGER
Initial size of send buffer used by SMC sockets.
The minimum value is 16KiB and there is no hard limit for max value, but
only allowed 512KiB for SMC-R and 1MiB for SMC-D.
Default: 64KiB
rmem - INTEGER
Initial size of receive buffer (RMB) used by SMC sockets.
The minimum value is 16KiB and there is no hard limit for max value, but
only allowed 512KiB for SMC-R and 1MiB for SMC-D.
Default: 64KiB
smcr_max_links_per_lgr - INTEGER
SMC-R v2.1 link group 제한
62-73`smcr_max_links_per_lgr`는 SMC-R link group에 추가할 수 있는 link 최대 수를 정합니다. 실제 수는 시스템의 RDMA device 수에도 제한되며 허용 범위는 1~2, 기본값은 2입니다. SMC-R v2.1 이상에만 적용합니다.
`smcr_max_conns_per_lgr`는 SMC-R link group에 추가할 connection 최대 수를 정합니다. 허용 범위는 16~255이고 기본값은 255입니다. 역시 SMC-R v2.1 이상에서만 사용합니다.
v2.1 이상에서 적용되는 범위입니다.
Controls the max number of links can be added to a SMC-R link group. Notice that
the actual number of the links added to a SMC-R link group depends on the number
of RDMA devices exist in the system. The acceptable value ranges from 1 to 2. Only
for SMC-R v2.1 and later.
Default: 2
smcr_max_conns_per_lgr - INTEGER
Controls the max number of connections can be added to a SMC-R link group. The
acceptable value ranges from 16 to 255. Only for SMC-R v2.1 and later.
Default: 255
요약·해설
smc-sysctl.rst:1-73SMC auto corking, buffer 형식과 크기, TEST_LINK 및 SMC-R link group 제한을 설명합니다.