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

相关推荐
laocooon52385788611 小时前
win下制作一个简单的Cmake,完成运行效果
linux·运维·服务器
北顾南栀倾寒11 小时前
[杂学笔记]HTTP与HTTPS的区别、HTTPS进行TLS握手的过程、HTTPS如何防止中间人攻击、HTTP1.1与HTTP2.0的区别、TCP的拥塞控制
linux·服务器
on_pluto_12 小时前
【debug】关于如何让电脑里面的两个cuda共存
linux·服务器·前端
CodeByV12 小时前
【Linux】进程信号深度解析:从中断本质到信号捕捉全流程
linux
n***840712 小时前
Linux安装RabbitMQ
linux·运维·rabbitmq
Y***890813 小时前
SQL Server 中行转列
运维·服务器
拾光Ծ14 小时前
【Linux】冯诺依曼体系结构和操作系统概述
linux·硬件架构
hfut028815 小时前
第25章 interface
linux·服务器·网络
Sinowintop17 小时前
易连EDI-EasyLink SFTP文件传输
运维·服务器·网络·sftp·edi·ftp·国产edi软件
风123456789~19 小时前
【Linux专栏】显示或隐藏行号、批量注释
linux·运维·服务器