← Documents Documentation/networking/smc-sysctl.rst GitHub 원문 ↗

Linux 6.18.37 · Networking

SMC sysctl

SMC auto corking, buffer 형식과 크기, TEST_LINK 및 SMC-R link group 제한을 설명합니다.

Source pathDocumentation/networking/smc-sysctl.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

smc-sysctl.rst:1-73

SMC auto corking, buffer 형식과 크기, TEST_LINK 및 SMC-R link group 제한을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ==========
4 SMC Sysctl
5 ==========
6
7 /proc/sys/net/smc/* Variables
8 =============================
9
10 autocorking_size - INTEGER
11 Setting SMC auto corking size:
12 SMC auto corking is like TCP auto corking from the application's
13 perspective of view. When applications do consecutive small
14 write()/sendmsg() system calls, we try to coalesce these small writes
15 as much as possible, to lower total amount of CDC and RDMA Write been
16 sent.
17 autocorking_size limits the maximum corked bytes that can be sent to
18 the under device in 1 single sending. If set to 0, the SMC auto corking
19 is disabled.
20 Applications can still use TCP_CORK for optimal behavior when they
21 know how/when to uncork their sockets.
22
23 Default: 64K
24
25 smcr_buf_type - INTEGER
26 Controls which type of sndbufs and RMBs to use in later newly created
27 SMC-R link group. Only for SMC-R.
28
29 Default: 0 (physically contiguous sndbufs and RMBs)
30
31 Possible values:
32
33 - 0 - Use physically contiguous buffers
34 - 1 - Use virtually contiguous buffers
35 - 2 - Mixed use of the two types. Try physically contiguous buffers first.
36 If not available, use virtually contiguous buffers then.
37
38 smcr_testlink_time - INTEGER
39 How frequently SMC-R link sends out TEST_LINK LLC messages to confirm
40 viability, after the last activity of connections on it. Value 0 means
41 disabling TEST_LINK.
42
43 Default: 30 seconds.
44
45 wmem - INTEGER
46 Initial size of send buffer used by SMC sockets.
47
48 The minimum value is 16KiB and there is no hard limit for max value, but
49 only allowed 512KiB for SMC-R and 1MiB for SMC-D.
50
51 Default: 64KiB
52
53 rmem - INTEGER
54 Initial size of receive buffer (RMB) used by SMC sockets.
55
56 The minimum value is 16KiB and there is no hard limit for max value, but
57 only allowed 512KiB for SMC-R and 1MiB for SMC-D.
58
59 Default: 64KiB
60
61 smcr_max_links_per_lgr - INTEGER
62 Controls the max number of links can be added to a SMC-R link group. Notice that
63 the actual number of the links added to a SMC-R link group depends on the number
64 of RDMA devices exist in the system. The acceptable value ranges from 1 to 2. Only
65 for SMC-R v2.1 and later.
66
67 Default: 2
68
69 smcr_max_conns_per_lgr - INTEGER
70 Controls the max number of connections can be added to a SMC-R link group. The
71 acceptable value ranges from 16 to 255. Only for SMC-R v2.1 and later.
72
73 Default: 255
74

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

SMC auto corking

1-26

SMC 변수는 `/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

초기 송수신 buffer 크기

44-61

`wmem`은 SMC socket의 초기 send buffer 크기이고 `rmem`은 초기 receive buffer, 즉 RMB 크기입니다. 둘 다 최소 16KiB이며 문법상 최대 hard limit은 없지만 실제 허용 상한은 SMC-R에서 512KiB, SMC-D에서 1MiB입니다. 두 기본값은 모두 64KiB입니다.

SMC socket memory
변수최소SMC-R 상한SMC-D 상한기본
wmem16KiB512KiB1MiB64KiB
rmem16KiB512KiB1MiB64KiB

송수신 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