我碰到一个很奇怪的问题,内核调用netlink_unicast发送无线驱动收到的无线帧到用户态,一开始还好的,都正常发送。大约发了几十KB的数据之后,这个调用就出错了,返回-11,查代码是EAGAIN。
内核中走到这个位置 :
netlink_unicast()
调用了函数->netlink_attachskb()来将报文放到目的SOCKET 的接收缓冲区中。
netlink_attachskb的实现是判断目的SOCKET的接收队列已使用空间sk_rmem_alloc,如果比它的接收缓冲区大小sk_rcvbuf大的话,意味着放不下,此时就进入等待队列,超时的话,就丢弃此SKB,返回-EAGAIN。

改进方法:
将用户态进程的printf()去掉,加快处理速度,避免接收不及时。

netlink_unicast return -11 (EAGAIN)相关推荐

  1. linux udp 广播recvfrom 返回 -1 错误码是 11 EAGAIN Resource temporarily unavailable

    版本:银河麒麟桌面操作系统V10(SP1) 内核:Linux 5.4.18-28.23-bj-generic CPU:Loongson-3A5000 架构:loongarch64-linux-gnu ...

  2. c语言return 11,二级C语言教程章节测试11.对函数的进一步讨论

    一.选择题 (1)有以下程序 # include void f(char *s, char *t) { char k; k=*s; *s=*t; *t=k; s++; t--; if (*s) f(s ...

  3. Linux: errno: 11 EAGAIN +Resource temporarily unavailable

    文章目录 错误 说明 proc下的limits文件 代码 相关配置 threads-max sendto/recv 错误 2293324 clone(child_stack=NULL, flags=C ...

  4. linux socket 套接字状态 EAGAIN EWOULDBLOCK EINTR 与非阻塞 简介

    EWOULDBLOCK:用于非阻塞模式,不需要重新读或者写 EINTR:指操作被中断唤醒,需要重新读/写 在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一 ...

  5. linux非阻塞的socket EAGAIN的错误处理【转】

    转自:http://blog.csdn.net/tianmohust/article/details/8691644 版权声明:本文为博主原创文章,未经博主允许不得转载. 在Linux中使用非阻塞的s ...

  6. EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接

    EAGAIN.EWOULDBLOCK.EINTR与非阻塞 长连接 EWOULDBLOCK用于非阻塞模式,不需要重新读或者写 EINTR指操作被中断唤醒,需要重新读/写在Linux环境下开发经常会碰到很 ...

  7. linux网络重置报错,Linux网络编程中EAGAIN错误和EINTR错误

    在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中). 从字面上来看,是提示再试一次.这个错误经常出现在当应用程序进行一些非阻塞 ...

  8. EAGAIN、EWOULDBLOCK、EINTR与非阻塞

    EWOULDBLOCK:用于非阻塞模式,不需要重新读或者写 EINTR:指操作被中断唤醒,需要重新读/写 在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一 ...

  9. Linux中的EAGAIN含义

    在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中). 从字面上来看,是提示再试一次.这个错误经常出现在当应用程序进行一些非阻塞 ...

  10. 网络编程0x03 EAGAIN错误和EINTR错误

    网络编程0x03 EAGAIN错误和EINTR错误 文章目录 网络编程0x03 EAGAIN错误和EINTR错误 1. 慢系统调用 2. EAGAIN错误 2.1 非阻塞socket编程处理EAGAI ...

最新文章

  1. 性能测试中传——lr理论基础(四)
  2. 速卖通运营之如何提升商品动销率
  3. 湖南计算机应用专业较好的学校,好的计算机应用专业排名
  4. 直播 | WWW 2021论文解读:基于隐私保护的模型联邦个性化
  5. red hat linux挂载u盘,请问怎样在Red Hat 9.0中使用U盘?
  6. 诚通网盘会员很坑的,升级会员的人要注意
  7. 抓取网络源码python_使用Python进行网络抓取的新手指南
  8. linux期末考试试题4,Linux试题4
  9. Java API方式调用Kafka各种协议
  10. 【MediaSoup】UDPSOCKET recv数据到rtcp包解析
  11. IOS之OC语言简介
  12. DroidCamX – 让您的 Android 安卓手机瞬间变成电脑的高清无线摄像头
  13. 《编程之美》买书问题及c语言代码实现
  14. java 爬取ajax,R语言爬虫系列4|AJAX与动态网页介绍
  15. 蓝桥杯练习:费解的开关
  16. JAVA毕业设计vue健康餐饮管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库
  17. Homework02
  18. 48本实体书包邮免费送!
  19. CSP CCF认证2023-03
  20. GEE学习笔记:在Google Earth Engine(GEE)中批量下载Sentinel-2影像

热门文章

  1. 机房收费系统(一)可行性研究报告
  2. 未能加载文件或程序集“XXXX”或它的某一个依赖项。试图加载格式不正确的程序。(已解决)
  3. 【宋代文学】之《青玉案·元夕》
  4. 渗透测试之信息收集总结
  5. 智能运维|AIRIOT智慧光伏管理解决方案
  6. 使用python调用百度API实现文字转语音功能
  7. hdu 5325 Crazy Bobo (树形dp)
  8. 缓解精神内耗的“马原疗法”
  9. Python 爬虫 爬取 煎蛋网 图片
  10. 饥荒lisp_创建饥荒(Don't starve)专用服务器(Dedicated Server)遇到的问题