Linux: network: tcp:__sk_mem_raise_allocated;确保公平

之前看这个函数里有一个地方没有看懂,代码如下:

cpp 复制代码
       if (sk_has_memory_pressure(sk)) {
              int alloc;

              if (!sk_under_memory_pressure(sk))
                     return 1;
              alloc = sk_sockets_allocated_read_positive(sk);  
              if (sk_prot_mem_limits(sk, 2) > alloc *
                  sk_mem_pages(sk->sk_wmem_queued +
                            atomic_read(&sk->sk_rmem_alloc) +
                            sk->sk_forward_alloc))
                     return 1;
       }

今天在网上找了一下,搜到下面的链接,里面有一个解释是:

https://lore.kernel.org/all/20231019120026.42215-2-wuyun.abel@bytedance.com/

Try to be fair among all the sockets under global pressure by allowing the ones that below average usage to raise.

尝试在全局压力下的所有套接字之间保持一个公平,允许低于平均使用率的套接字升高,高使用内存的socket不让申请内存。

相关推荐
历程里程碑15 小时前
53 多路转接select
linux·开发语言·数据结构·数据库·c++·sql·排序算法
WYH28715 小时前
一、驱动基础
linux·嵌入式硬件
痕忆丶15 小时前
openharmony开发之磁盘相关
linux
2601_9547064915 小时前
2026 上半年云手机实测:红手指 / 傲晨云 / ACE / 易舜云横向对比
运维·服务器·智能手机
z2023050815 小时前
RDMA 之RoCEv2 的报文格式(5)
linux·服务器·网络·人工智能
银河麒麟操作系统15 小时前
【银河麒麟高级服务器操作系统】top命令详解
运维·服务器
uesowys15 小时前
CentOS Linux安装部署Hermes Agent智能体
linux·centos·hermes agent
毋语天15 小时前
Linux 命令——文件、进程、网络与 Vim 编辑器
linux·网络·编辑器
William.csj15 小时前
Linux——查看cuda版本的全面方法
linux·运维·服务器
sdm07042717 小时前
TCP--面向字节流
网络·网络协议·tcp/ip