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

相关推荐
上海云盾第一敬业销售32 分钟前
高防CDN与高防IP应用场景架构解析
网络协议·tcp/ip·架构
hj2862511 小时前
linux下一步学习内容
linux·运维
睡不醒男孩0308231 小时前
数据库高可用运维实操指南:基于CLup的PostgreSQL生产环境自动化管理
运维·数据库·postgresql
智慧景区与市集主理人1 小时前
市集的 “IP 化” 打造路径——从单次活动到长期品牌资产
人工智能·科技·tcp/ip
V搜xhliang02462 小时前
临床科研新范式:从选题到投稿,AI智能体如何接管全流程?
运维·数据结构·人工智能·算法·microsoft·数据挖掘·自动化
tudoSearcher2 小时前
日志、指标、链路追踪:可观测性三支柱深度解析
运维·服务器·网络·prometheus
xier_ran2 小时前
【infra之路】Linux基础命令与系统排查
linux·运维·服务器
zh路西法2 小时前
【Linux 串口通信】基于 C++ 多线程的同步/异步串口实现
linux·运维·c++·python
c238562 小时前
linux基础2
linux·运维·服务器
子兮曰2 小时前
WSL 配 GPU 用 Docker 的折腾指南(2026 年版)
linux·前端·后端