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

相关推荐
Codefengfeng19 小时前
Kali安装工具通用教程
运维·服务器
姜行运19 小时前
[Linux]基础指令3
linux·运维·服务器
dashizhi201519 小时前
服务器共享文件设置权限、共享文件防止删除复制打印?
运维·服务器
WrkZmkvJ19 小时前
博世汽车电驱仿真Simulink 模型, 同步电机和异步电机模型, 相电流完美波形 MPTA+...
tcp/ip
xiaoliuliu1234519 小时前
银河麒麟V10安装 zlib-1.2.11-20.ky10.x86_64教程(含依赖解决)
linux·运维·服务器
三万棵雪松19 小时前
【Linux网络编程试验方案】
linux·服务器·网络·嵌入式linux
袁袁袁袁满19 小时前
Linux/Window如何查网络连接/端口/套接字信息?
linux·运维·服务器·网络安全·网络连接
invicinble19 小时前
对于linux形成整体性的认识
linux·运维·arm开发
Maggie_ssss_supp19 小时前
Linux-ansible自动化运维
运维·自动化·ansible
『往事』&白驹过隙;19 小时前
系统编程的内存零拷贝(Zero-Copy)技术
linux·c语言·网络·c++·物联网·iot