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

相关推荐
无足鸟ICT5 小时前
【RHCA+】查找与替换
linux
华奥系科技5 小时前
汛期城市内涝治理:智慧水务如何重塑防汛“安全感”?
大数据·运维·人工智能
IT WorryFree5 小时前
三套 Zabbix7.4 API 可直接复制 params 模板
运维·服务器·网络
RisunJan5 小时前
Linux命令-pmap(进程内存映射报告工具)
linux·服务器·网络
郝学胜-神的一滴5 小时前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
暗影天帝5 小时前
BPI-R3 Mini NAND 刷机教程(Webfailsafe 方案)
linux
Full Stack Developme6 小时前
Linux rm-rf 执行后,硬盘空间变化
linux·运维·服务器
跨境数据猎手6 小时前
独立站搭建:架构拆解+源码配置+运维复盘
运维·架构
楠目6 小时前
CVE-2017-7529 Nginx Range头整数溢出漏洞利用总结
运维·nginx
插件开发6 小时前
vs2015 cuda c++ cdpSimplePrint范例,递归功能实现演示
linux·c++·算法