Xen dom0激活xen_netback dynamic debug (netdev_dbg)

来源:互联网 发布:英文seo教程 编辑:程序博客网 时间:2024/06/14 12:43
Here is how to enable the xen-netback dynamic debug on Oracle VM 3.3 (Xen).

1. Mount debugfs to /sys/kernel/debug if it is not already mounted:

# mount -t debugfs debugfs /sys/kernel/debug

2. Check the list of

# cat /sys/kernel/debug/dynamic_debug/control | grep netback
drivers/net/xen-netback/netback.c:469 [xen_netback]xenvif_check_gop =_ "Bad status %d from copy to DOM%d.\012"
drivers/net/xen-netback/netback.c:1262 [xen_netback]xenvif_tx_build_gops =_ "Can't allocate a skb in start_xmit.\012"
drivers/net/xen-netback/netback.c:1237 [xen_netback]xenvif_tx_build_gops =_ "Bad packet size: %d\012"
drivers/net/xen-netback/netback.c:754 [xen_netback]xenvif_count_requests =_ "Invalid tx request, slot size %u > remaining size %u\012"
drivers/net/xen-netback/netback.c:731 [xen_netback]xenvif_count_requests =_ "Too many slots (%d) exceeding limit (%d), dropping packet\012"
drivers/net/xen-netback/netback.c:1487 [xen_netback]xenvif_tx_submit =_ "Can't setup checksum in net_tx_action\012"
drivers/net/xen-netback/netback.c:968 [xen_netback]xenvif_tx_check_gop =_ "Grant map of %d. frag failed! status: %d pending_idx: %u ref: %u\012"
drivers/net/xen-netback/netback.c:923 [xen_netback]xenvif_tx_check_gop =_ "Grant copy of header failed! status: %d pending_idx: %u ref: %u\012"
drivers/net/xen-netback/xenbus.c:460 [xen_netback]backend_switch_state =_ "%s -> %s\012"
drivers/net/xen-netback/xenbus.c:561 [xen_netback]frontend_changed =_ "%s -> %s\012"
drivers/net/xen-netback/xenbus.c:381 [xen_netback]netback_probe =_ "failed\012"
drivers/net/xen-netback/xenbus.c:353 [xen_netback]netback_probe =_ "Error writing multi-queue-max-queues\012"
drivers/net/xen-netback/xenbus.c:347 [xen_netback]netback_probe =_ "Error writing feature-split-event-channels\012"
drivers/net/xen-netback/interface.c:458 [xen_netback]xenvif_alloc =_ "Successfully created xenvif\012"

3. Enable xen_netback dynamic debug:

# echo -n "module xen_netback +p" > /sys/kernel/debug/dynamic_debug/control

4. Confirm that all xen_netback functions are enabled:

# cat /sys/kernel/debug/dynamic_debug/control | grep netback
drivers/net/xen-netback/netback.c:469 [xen_netback]xenvif_check_gop =p "Bad status %d from copy to DOM%d.\012"
drivers/net/xen-netback/netback.c:1262 [xen_netback]xenvif_tx_build_gops =p "Can't allocate a skb in start_xmit.\012"
drivers/net/xen-netback/netback.c:1237 [xen_netback]xenvif_tx_build_gops =p "Bad packet size: %d\012"
drivers/net/xen-netback/netback.c:754 [xen_netback]xenvif_count_requests =p "Invalid tx request, slot size %u > remaining size %u\012"
drivers/net/xen-netback/netback.c:731 [xen_netback]xenvif_count_requests =p "Too many slots (%d) exceeding limit (%d), dropping packet\012"
drivers/net/xen-netback/netback.c:1487 [xen_netback]xenvif_tx_submit =p "Can't setup checksum in net_tx_action\012"
drivers/net/xen-netback/netback.c:968 [xen_netback]xenvif_tx_check_gop =p "Grant map of %d. frag failed! status: %d pending_idx: %u ref: %u\012"
drivers/net/xen-netback/netback.c:923 [xen_netback]xenvif_tx_check_gop =p "Grant copy of header failed! status: %d pending_idx: %u ref: %u\012"
drivers/net/xen-netback/xenbus.c:460 [xen_netback]backend_switch_state =p "%s -> %s\012"
drivers/net/xen-netback/xenbus.c:561 [xen_netback]frontend_changed =p "%s -> %s\012"
drivers/net/xen-netback/xenbus.c:381 [xen_netback]netback_probe =p "failed\012"
drivers/net/xen-netback/xenbus.c:353 [xen_netback]netback_probe =p "Error writing multi-queue-max-queues\012"
drivers/net/xen-netback/xenbus.c:347 [xen_netback]netback_probe =p "Error writing feature-split-event-channels\012"
drivers/net/xen-netback/interface.c:458 [xen_netback]xenvif_alloc =p "Successfully created xenvif\012"

5. Enable debug level in rsyslog:

5.1. Change the following line in /etc/rsyslog.conf

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

to

*.debug;*.info;mail.none;authpriv.none;cron.none                /var/log/messages

5.2. Restart rsyslogd:

# /etc/init.d/rsyslog stop
# /etc/init.d/rsyslog start



Reference:
[1] https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html
[2] https://lwn.net/Articles/434833/
0 0
原创粉丝点击