mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
0227f058aa
Currently, SMC uses smc->sk.sk_{rcv|snd}buf to create buffers for send buffer and RMB. And the values of buffer size are from tcp_{w|r}mem in clcsock. The buffer size from TCP socket doesn't fit SMC well. Generally, buffers are usually larger than TCP for SMC-R/-D to get higher performance, for they are different underlay devices and paths. So this patch unbinds buffer size from TCP, and introduces two sysctl knobs to tune them independently. Also, these knobs are per net namespace and work for containers. Signed-off-by: Tony Lu <tonylu@linux.alibaba.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
27 lines
646 B
C
27 lines
646 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __NETNS_SMC_H__
|
|
#define __NETNS_SMC_H__
|
|
#include <linux/mutex.h>
|
|
#include <linux/percpu.h>
|
|
|
|
struct smc_stats_rsn;
|
|
struct smc_stats;
|
|
struct netns_smc {
|
|
/* per cpu counters for SMC */
|
|
struct smc_stats __percpu *smc_stats;
|
|
/* protect fback_rsn */
|
|
struct mutex mutex_fback_rsn;
|
|
struct smc_stats_rsn *fback_rsn;
|
|
|
|
bool limit_smc_hs; /* constraint on handshake */
|
|
#ifdef CONFIG_SYSCTL
|
|
struct ctl_table_header *smc_hdr;
|
|
#endif
|
|
unsigned int sysctl_autocorking_size;
|
|
unsigned int sysctl_smcr_buf_type;
|
|
int sysctl_smcr_testlink_time;
|
|
int sysctl_wmem;
|
|
int sysctl_rmem;
|
|
};
|
|
#endif
|