SMC Sysctl

/proc/sys/net/smc/* 变量

autocorking_size - 整数

设置 SMC 自动软木塞大小:SMC 自动软木塞类似于应用程序视角的 TCP 自动软木塞。当应用程序连续进行小的 write()/sendmsg() 系统调用时,我们会尝试尽可能合并这些小的写入,以减少发送的 CDC 和 RDMA 写入的总量。autocorking_size 限制了在一次发送中可以发送到下层设备的最大软木塞字节数。如果设置为 0,则禁用 SMC 自动软木塞。当应用程序知道如何/何时取消其套接字的软木塞时,它们仍然可以使用 TCP_CORK 来获得最佳行为。

默认值:64K

smcr_buf_type - 整数

控制在以后新创建的 SMC-R 链路组中使用哪种类型的 sndbufs 和 RMB。仅用于 SMC-R。

默认值:0(物理上连续的 sndbufs 和 RMB)

可能的值

  • 0 - 使用物理上连续的缓冲区

  • 1 - 使用虚拟上连续的缓冲区

  • 2 - 混合使用这两种类型。首先尝试物理上连续的缓冲区。如果不可用,则使用虚拟上连续的缓冲区。

smcr_testlink_time - 整数

在 SMC-R 链接上的连接的最后活动之后,SMC-R 链接多久发送一次 TEST_LINK LLC 消息以确认其可用性。值 0 表示禁用 TEST_LINK。

默认值:30 秒。

wmem - 整数

SMC 套接字使用的发送缓冲区初始大小。

最小值是 16KiB,最大值没有硬性限制,但对于 SMC-R 仅允许 512KiB,对于 SMC-D 允许 1MiB。

默认值:64KiB

rmem - 整数

SMC 套接字使用的接收缓冲区 (RMB) 的初始大小。

最小值是 16KiB,最大值没有硬性限制,但对于 SMC-R 仅允许 512KiB,对于 SMC-D 允许 1MiB。

默认值:64KiB

smcr_max_links_per_lgr - 整数

控制可以添加到 SMC-R 链路组的最大链路数。请注意,添加到 SMC-R 链路组的实际链路数取决于系统中存在的 RDMA 设备的数量。可接受的值范围为 1 到 2。仅适用于 SMC-R v2.1 及更高版本。

默认值:2

smcr_max_conns_per_lgr - 整数

控制可以添加到 SMC-R 链路组的最大连接数。可接受的值范围为 16 到 255。仅适用于 SMC-R v2.1 及更高版本。

默认值:255