01 2019 档案

摘要:perf的采样模式和统计模式 统计模式和采样模式使用寄存器的方法不相同; 在统计模式下,每次调度之前设置寄存器,调度之后清理寄存器,留个下个进程使用;PMU寄存器的使用方法; 在采样模式下,每次 pmu寄存器到底都能设置啥呢? pmc寄存器 阅读全文
posted @ 2019-01-22 23:32 honpey 阅读(382) 评论(0) 推荐(0) 编辑
摘要:之前一直以为perf的统计模式也是通过中断出发来的,于是会在中断处理函数中做处理,但是如果perf是统计模式,那么perf的寄存器就不会是溢出的模式了,这个时候,就没有pmu的中断发生,所以很奇怪呢,在使用统计模式的时候,perf是怎么做的呢? 在统计模式下,在每一次发生调度的时候,都会去读寄存器里 阅读全文
posted @ 2019-01-21 01:10 honpey 阅读(451) 评论(0) 推荐(0) 编辑
摘要:使用网络命名空间:net namespace 在namespace ns1中增加了两个网卡 sudo ip netns add ns1 sudo ip link add veth0 type veth peer name veth1 sudo ip link add veth2 type veth 阅读全文
posted @ 2019-01-15 12:13 honpey 阅读(231) 评论(0) 推荐(0) 编辑
摘要:下面这段代码应该是arp_ignore/arp_filter的最好的注脚;在ARP_ignore通过的情况下,我再去判断ARP_filter,这个ARP_filter其实就是为了判断,当数据包再出去的时候,是不是还是通过我这个网络设备;如果是的话,那么就放走,如果不是的话,那么就不行;其实有点反向路 阅读全文
posted @ 2019-01-15 11:25 honpey 阅读(1283) 评论(0) 推荐(0) 编辑
摘要:也就是说啊,内核中的收发包的路径,很可能是经理driver_recv --> tcp -->driver_send这样一个过程,是个很长的路径呢...... 从dev_queue_xmit中来的数据包全部都是从ip_finish_output中来的吗? 所以,应该经常能抓到ip_local_out才 阅读全文
posted @ 2019-01-13 18:14 honpey 阅读(397) 评论(0) 推荐(0) 编辑
摘要:路由表查看 arp缓存 都是走的什么接口? 阅读全文
posted @ 2019-01-13 18:06 honpey 阅读(165) 评论(0) 推荐(0) 编辑
摘要:见 codebox/net/qdisk/xmit.log中保存了一份记录 调用关系 sch_direct_xmit --> dev_hard_start_xmit --> xmit_one --> netdev_start_xmit -->__netdev_start_xmit > ops->ndo 阅读全文
posted @ 2019-01-13 17:59 honpey 阅读(937) 评论(0) 推荐(0) 编辑
摘要:1) 当arp表项不存在的时候,数据包等待表项存在了再发,还是直接把数据包给丢掉; 2)如果网络目的地址不可达,是在那一层把数据丢弃,再是路由层就判断还是arp层呢? 阅读全文
posted @ 2019-01-12 17:35 honpey 阅读(144) 评论(0) 推荐(0) 编辑
摘要:[结论] 当协议失效的时候,skb会挂载arp的neigt的一个链表上,然后直接返回了,相当于数据包发下了,当arp收到数据包去修复neigh的目的地址的时候,会把之前所有的neihe中等待的skb全部都往下刷到网卡队列中去; 当协议没生效的时候,skb会直接刷到网卡的队列中去; 网卡多ip 为什么 阅读全文
posted @ 2019-01-12 14:51 honpey 阅读(389) 评论(0) 推荐(0) 编辑