免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7455 | 回复: 1
打印 上一主题 下一主题

[内核模块] USB虚拟网卡,拔出后内核崩溃 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-11-07 15:21 |只看该作者 |倒序浏览
请教各位高手,最近遇到了一个奇怪的问题,如下:

1>我们使用了USB模块,它里面是采用ECM虚拟网卡 + 虚拟串口的方式,内核中添加了对这个设备的支持。主要是添加option以及cdc_ether
的编译。
2>当将这个模块从USB接口拔出时,会弹出如下的信息:
<3>cdc_ether 1-2:1.3 usb0: kevent 12 may have been dropped
<7>lowmem_reserve[]: 0 0
<7>Normal: 1*4kB (R) 1*8kB (R) 0*16kB 1*32kB (R) 1*64kB (R) 0*128kB 1*256kB (R) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 364kB
<7>973 total pagecache pages
<7>16384 pages of RAM
<7>163 free pages
<7>1153 reserved pages
<7>2407 slab pages
<7>183451 pages shared
<7>0 pages swap cached
<3>cdc_ether 1-2:1.3 usb0: kevent 2 may have been dropped
<4>swapper: page allocation failure: order:0, mode:0x20
<7>CPU: 0 PID: 0 Comm: swapper Not tainted 3.18.35 #7
<7>[<c000d290>] (unwind_backtrace) from [<c000b630>] (show_stack+0x10/0x14)
<7>[<c000b630>] (show_stack) from [<c0055dbc>] (warn_alloc_failed+0xf4/0x124)
<7>[<c0055dbc>] (warn_alloc_failed) from [<c0057f78>] (__alloc_pages_nodemask+0x72c/0x7d4)
<7>[<c0057f78>] (__alloc_pages_nodemask) from [<c02282ac>] (__netdev_alloc_frag+0x54/0x19c)
<7>[<c02282ac>] (__netdev_alloc_frag) from [<c022cf30>] (__netdev_alloc_skb+0x40/0xe4)
<7>[<c022cf30>] (__netdev_alloc_skb) from [<bf13c9b8>] (rx_submit+0x3c/0x1e0 [usbnet])
<7>[<bf13c9b8>] (rx_submit [usbnet]) from [<c01d3f78>] (__usb_hcd_giveback_urb+0x70/0xd4)
<7>[<c01d3f78>] (__usb_hcd_giveback_urb) from [<c01d4058>] (usb_giveback_urb_bh+0x7c/0xbc)
<7>[<c01d4058>] (usb_giveback_urb_bh) from [<c00173a8>] (tasklet_action+0x84/0xcc)
<7>[<c00173a8>] (tasklet_action) from [<c0016d24>] (__do_softirq+0xbc/0x200)
<7>[<c0016d24>] (__do_softirq) from [<c001709c>] (irq_exit+0x80/0xa
<7>[<c001709c>] (irq_exit) from [<c0036ab0>] (__handle_domain_irq+0x78/0x94)
<7>[<c0036ab0>] (__handle_domain_irq) from [<c000c010>] (__irq_svc+0x30/0x54)
<7>[<c000c010>] (__irq_svc) from [<c0009ee8>] (arch_cpu_idle+0x2c/0x34)
<7>[<c0009ee8>] (arch_cpu_idle) from [<c0030e4c>] (cpu_startup_entry+0xa0/0x10
<7>[<c0030e4c>] (cpu_startup_entry) from [<c039ab8c>] (start_kernel+0x2e4/0x33c)

但此时内存还是充足的,后期我换了一个更大的内存,从64M改为128M,还是出现同样的问题,请问各位有没有好的建议,急切中,谢谢。         

论坛徽章:
0
2 [报告]
发表于 2019-03-13 10:52 |只看该作者
<7>Normal: 1*4kB (R) 1*8kB (R) 0*16kB 1*32kB (R) 1*64kB (R) 0*128kB 1*256kB (R) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 364kB
<7>973 total pagecache pages
<7>16384 pages of RAM
<7>163 free pages

你这个系统开没开OOM killer的,个人认为像是没有free内存的。上面显示4KB的slab只有1个,共有163个free page,属于系统内存压力很大的情况了!!而且alloc fail时的内存情况,与printk看到的内存情况是不一样的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP