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

相关推荐
坂田民工1 小时前
RK3566 AB升级功能
linux·rk3566·buildroot·ab升级
SakitamaX2 小时前
LVS(Linux virual server)介绍与实验
linux·运维·lvs
小义_2 小时前
【Docker】知识八
linux·docker·云原生
开开心心_Every2 小时前
CDR版本转换工具,支持多版本互转免升级软件
linux·运维·服务器·云原生·edge·pdf·serverless
苏渡苇2 小时前
轻量化AI落地:Java + Spring Boot 实现设备异常预判
java·人工智能·spring boot·后端·网络协议·tcp/ip·spring
czxyvX2 小时前
009-Linux程序地址空间
linux
苏宸啊2 小时前
进程的概念
linux
yuezhilangniao2 小时前
程序人生-杂谈-简单对比一下 学霸和linux科学设计
linux·程序人生·职场和发展
只想恰口饭3 小时前
程序人生-Hello’s P2P
linux·c语言·ubuntu
hoperest3 小时前
程序人生-Hello‘s P2P
linux·c语言·程序人生·ubuntu