Linux怎么判断网卡是否支持netdump功能
内核调试工具netdump需要网卡驱动支持netpoll功能。netpoll的目的是让内核在网络和I/O子系统尚不能完整可用时,依然能发送和接收数据包。主要用于网络控制台(net console)和远程内核调试(KGDBoE)中。实现netpoll功能,主要是要实现kernel中的poll_controller函数,该函数定义:void (*poll_controller)(struct net_device *dev)。该函数的作用是在缺少设备中断的情况下,还能对控制器做出响应。几乎所有的poll_controller函数都定义成如下形式:
void my_poll_controller(struct net_device *dev) {
disable_device_interrupt(dev);
call_interrupt_handler(dev->irq, dev);
enable_device_interrupt(dev);
}
所以,poll_controller只是模拟了来自指定设备的中断。一个最简单的判断一个网卡驱动是否这次支持netpoll功能的方法是安装内核源代码,然后在代码树 /usr/src/kernel-中搜索HAVE_POLL_CONTROLLER的定义, grep -r "HAVE_POLL_CONTROLLER" /usr/src/linux-/drivers/net示例如下:
# grep -r "HAVE_POLL_CONTROLLER" /usr/src/linux-2.4/drivers/net
/usr/src/linux-2.4/drivers/net/3c59x.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/3c59x.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/e100/e100_main.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/e100/e100_main.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/e1000/e1000_main.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/e1000/e1000_main.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/e1000/e1000_main.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/eepro100.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/eepro100.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/pcnet32.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/pcnet32.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/tg3.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/tg3.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/tlan.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/tlan.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/tulip/tulip_core.c:#ifdef HAVE_POLL_CONTROLLER
/usr/src/linux-2.4/drivers/net/tulip/tulip_core.c:#ifdef HAVE_POLL_CONTROLLER
从输出可以看到,3c59x, e100, e1000, eepro100, pcnet32, tg3, tlan和tulip都支持netpoll。
如果系统使用了这些网卡,那么系统应该支持netpoll,那么就支持netdump。
如果希望进一步确认网卡是否是使用这些网卡,可以查看/etc/modules.conf:
# cat /etc/modules.conf
alias eth1 e100
alias eth0 3c59x
4.SysRq
SysRq组合键是一组"魔术组合键",只要内核没有被完全锁住,键盘还能够使用,不管内核在做什么事情,使用这些组合键可以立即打印出内核的信息。
使用sysrq组合键是了解系统目前运行情况的最好方式。如果系统出现挂起的情况或者在诊断一些和内核相关,比较怪异,比较难重现的问题的时候,使用sysrq键是一个比较好的方式。
为了安全起见,默认SysRq组合键是关闭的。
打开这个功能,运行:
# echo 1 > /proc/sys/kernel/sysrq
关闭这个功能:
# echo 0 > /proc/sys/kernel/sysrq
如果想让此功能一直生效,在/etc/sysctl.conf里面设置kernel.sysrq的值为1. 重新启动以后,此功能将会自动打开。
kernel.sysrq = 1
因为打开sysrq键的功能以后,有终端访问权限的用户将会拥有一些特殊的功能。因此,除非是要调试,解决问题,一般情况下,不要打开此功能。如果一定要打开,请确保用户的终端访问的安全性。
支付宝玉溪市商业银行储蓄卡快捷支付的限额是多少支付宝玉溪市商业银行储蓄卡快捷支付的限额同中国工商银行一致。目前除淘宝和阿里巴巴外,支持使用支付宝交易服务的商家已经超过46万家,涵盖了虚拟游戏数码通讯商业服务机票等行业。这些商家
支付宝玉溪市商业银行储蓄卡快捷支付如何撤销支付宝玉溪市商业银行储蓄卡快捷支付的撤销流程同招商储蓄卡快捷支付一致。支付宝(中国)网络技术有限公司是国内领先的独立第三方支付平台,由阿里巴巴集团创办。支付宝致力于为中国电子商务提
屏幕进水有竖线会自己消失吗屏幕进水导致出现竖线故障无法自行消失,该故障属于物理损坏只能通过更换屏幕解决。由于进水导致的部件异常不在官方的保修范围内,因此用户维修或更换屏幕需要自行承担相应费用。以下是具体说明
家用冰箱怎么清洁家用冰箱清洁方法步骤详解冰箱是家中很实用的大件家电,不管是哪个季节冰箱都可以让我们每天都吃到新鲜的食物。由于冰箱储存的食物种类比较杂,都积压在一个空间很容易滋生细菌。时间长了还会有难闻的气味出来,因此清洁
家用冰箱怎么清洁家用冰箱清洁方法详解冰箱现在是我们家居中的一个十分重要的电器了,我们几乎每户人家都需要使用到它,但是冰箱是否干净呢?这就不是每家都能够做到的了。接下来小编就来给大家介绍下家用冰箱清洁诀窍。一冰箱清洁m
家用冰箱如何清洁家用冰箱清洁方法介绍冰箱现在是我们家居中的一个十分重要的电器了,我们几乎每户人家都需要使用到它,但是冰箱是否干净呢?这就不是每家都能够做到的了。接下来小编就来给大家介绍下家用冰箱清洁诀窍。一冰箱清洁m
家用冰箱如何清洁家用冰箱清洁方法详细介绍冰箱是家中很实用的大件家电,不管是哪个季节冰箱都可以让我们每天都吃到新鲜的食物。由于冰箱储存的食物种类比较杂,都积压在一个空间很容易滋生细菌。时间长了还会有难闻的气味出来,因此清洁
家用冰箱怎么保养冰箱冰堵清洁保养方法详细介绍家用冰箱是我们日常用来保存食物的家用电器,使用频率非常地高,由于它天天都要和食物饮料打交道,所以说经常会有些脏,那么做好清洁保养工作就比较重要了。今天小编就来给大家介绍一下家用冰箱
微信一来红包就喊红包来怎么设置安卓手机可以使用内置的红包提醒功能,比如MIUI安全中心的红包助手点击更多设置菜单项在红包声音提醒选项,在底部弹出的菜单中点击红包来了的选项。如果手机没有内置该功能,也可以安装腾讯
红包提醒怎么设置现在用手机发红包成为了人们生活娱乐的重要组成部分,但是我们又不是时时刻刻看着手机,别人发红包来,我们会因为没有及时看手机而错失了红包,那么红包提醒怎么设置呢?下面给大家介绍一下吧。
魅蓝Note5支持双频WIFI吗双频WIFI介绍详解智能手机无限WIFI的普及,已经大大改善了用户的网络生活习惯。现如今第五代WIFI传输技术的也正在大力的发展中,也将大大提高了无限传输的速度。那么魅蓝Note5支持双频WIFI吗?