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

相关推荐
不过普通话一乙不改名3 分钟前
Linux 网络发包的极致之路:从普通模式到 AF_XDP ZeroCopy
linux·运维·网络
jquerybootstrap18 分钟前
大地2000转经纬度坐标
linux·开发语言·python
x***133934 分钟前
如何在Linux中找到MySQL的安装目录
linux·运维·mysql
4***175439 分钟前
linux 网卡配置
linux·网络·php
p***924841 分钟前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
HarrySunCn1 小时前
Rocky服务器部署前端静态项目的注意点
运维·服务器
w***37511 小时前
Nginx 的 proxy_pass 使用简介
运维·nginx
南林yan2 小时前
tcpdump
linux·tcpdump
偶像你挑的噻2 小时前
Linux应用开发-9-信号
linux·stm32·嵌入式硬件
Gene_20222 小时前
搭建自己的小车 —— 运行livox mid_360
linux·ubuntu