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不让申请内存。

相关推荐
huohaiyu3 小时前
深入解析JVM核心原理与运行机制
运维·服务器·jvm
MC皮蛋侠客3 小时前
Perf 火焰图深度实战:CPU 性能分析与异常排查完全指南
linux·c++·性能分析·perf·火焰图
风曦Kisaki3 小时前
Nginx代理与LVS(NAT/DR)全方位对比
运维·nginx·lvs
pengyi8710154 小时前
代理 IP 隐私保护核心原理:从 IP 隐藏到身份匿名的完整链路
网络·网络协议·tcp/ip
maosheng11464 小时前
NFS服务器的搭建有多种类型linux-linux
linux·运维·服务器
普通young man4 小时前
Linux基础开发工具集合
linux·运维·服务器
z200509304 小时前
【Linux学习】Linux中进程终止和进程等待
linux·学习·操作系统
码农阿强4 小时前
OpenAI Codex 全平台详细安装与配置教程(Windows/Mac/Linux)
linux·windows·macos·ai
Elsius.4 小时前
网络运维与网络安全 阶段一 基础篇二十一
运维
用户2367829801684 小时前
Linux mv 命令:文件移动与重命名的底层机制
linux