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

相关推荐
vvw&1 分钟前
如何在 Ubuntu 上安装 PostgreSQL
linux·运维·服务器·数据库·ubuntu·postgresql
徒 花15 分钟前
Nginx
运维·nginx·云原生
小跌—24 分钟前
Linux:多路转接
linux·网络
csdn_aspnet27 分钟前
如何在 Mac、Ubuntu、CentOS、Windows 上安装 MySQL 客户端
linux·windows·mysql·macos·centos
程序猿追31 分钟前
异腾910B NPU实战:vLLM模型深度测评与部署指南
运维·服务器·人工智能·机器学习·架构
铭哥的编程日记33 分钟前
【Linux网络】传输层协议UDP
linux·网络·udp
看我干嘛!1 小时前
GME 和MGRE综合实验
运维·服务器·网络
x_lrong1 小时前
Linux虚拟机配置jupyter环境并在宿主机访问
linux·运维·笔记·jupyter·虚拟机
羚羊角uou1 小时前
【Linux网络】Socket编程TCP-实现Echo Server(上)
linux·运维·服务器
少年已不再年少年轻以化为青年1 小时前
VirtualBox下虚拟机即可访问互联网,又可访问主机
运维·服务器·网络