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

相关推荐
大爱编程♡4 分钟前
Linux C 语言文件 IO 与构建工具实战指南
linux·服务器
yyuuuzz30 分钟前
企业出海云服务器部署踩坑记录:从频繁超时到稳定运行的复盘
运维·服务器·网络·人工智能·aws
科技研学社38 分钟前
服装后道自动化选型|五大品牌全自动激光开袋机深度对比分析报告
运维·自动化
中电金信1 小时前
源启DevOps平台落地实践:从40分钟到3分钟,构建部署提效13倍
运维·devops
Linux运维技术栈1 小时前
深度拆解 Linux logrotate 重复切割问题:根因、排查与生产级根治方案
linux·logrotate
2401_834636991 小时前
Docker 容器化技术全解:从镜像构建到容器编排的完整教案2
运维·docker·容器
ouynagda1 小时前
Linux多线程:互斥锁与信号量学习笔记
linux·笔记·学习
qq_25294131681 小时前
窗户清洁检测数据集 | 窗户清洁检测 建筑运维 二分类任务 YOLO格式 深度学习数据集9019期
运维·人工智能·深度学习·yolo·目标检测·分类·窗户清晰度
星辰徐哥1 小时前
打破社媒营销信息差:具身交互智能打造全自动化KOL情报体系
运维·python·自动化·交互·react·数字人
重生之我是Java开发战士1 小时前
【Java EE】认识Linux与项目部署
java·linux·java-ee