V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  huangya  ›  全部回复第 15 页 / 共 41 页
回复总数  815
1 ... 11  12  13  14  15  16  17  18  19  20 ... 41  
@leonshaw 真的不会丢吗?老哥有什么稍微权威点或者大牛的资料或者书籍吗?
@sujin190
@leonshaw
两位,我看的是这个 https://elixir.bootlin.com/linux/latest/source/drivers/net/ethernet/3com/3c509.c#L907
el3_rx()被中断处理函数 el3_interrupt()调用. 在第 770 行,el3_interrupt 调用了 spin_lock(),spin_lock 会关中断。然后再第 783 行调用 el3_rx()函数。el3_rx ()使用 while ((rx_status = inw(ioaddr + RX_STATUS)) > 0) (第 915 行)看是否在队列中有新的包。第 941 行的 insl 函数我的理解是从网卡缓冲队列中取包到内存中( skb )。第 946 行 neif_rx 会把 skb 放到协议栈中的队列中,后续会交给软中断或者下半部分处理。
@leonshaw 没太懂你的意思。你说的是中断的下半部分吧( linux 内核把中断分成上半部分和下半部分).下半部分是包已经送到协议栈了,此时中断已经开了。
@sujin190
>正常情况下应该都会把检查队列是否空和清除中断屏蔽设计成一个指令才对
不是一个指令。看了一下例子,检查队列会调一个 ioread16 函数(这个函数可能是封装了一个汇编指令),清除中断是另外一个函数.所以最起码是两条指令。
@654656413245
>3. 基本没有不带 DMA 的网卡了; DMA 完成后才发出硬中断,CPU 开始处理,而不是发出硬中断后才开始 DMA
这个我知道。我是在学习网卡驱动,所以找的是最简单的例子。linux 内核里面的 3com 的 3c509 网卡就是不带 DMA 的。学习东西的时候,我喜欢从简单的硬件入手。现在的网卡除了带最基础的 DMA 功能,还带各种高级功能,各种 offload ,多队列,中断合并啥的。但是这样会让驱动复杂很多,新手会比较吃力。

回到我这个问题(我这个人有点钻牛角尖哈,也 @sujin190 ),我只是想知道对于这种网卡,有没有理论上的可能性就是这个包已经到了缓冲队列,但还是最终得不到处理或者及时处理的情况?比如过了很久,第三个包过来了,产生了一个中断,第二个包虽然从队列中顺便捞上来了,但已经被协议栈认为超时了,所以就丢弃。有没有这种情况产生呢?
@kokutou
我只是觉得已经到缓冲队列的包也算“丢包”比较可惜,当然这种情况应该是非常少。
@ampedee
感谢回复,但我更关心的其实是“但这样检查是原子操作吗?不会放过任何包吗?假设在检查之后,关中断之前来了一个包呢?”
2022-12-05 18:22:56 +08:00
回复了 huangya 创建的主题 Linux 请教个网卡驱动代码问题
@tomychen 嗯,有关系吗? 接下来的 skb_reserve 我的理解是 source mac + dst mac + ethernet type 等于 14 个字节,reserve 两个字节就是 16 个字节。但与 dev_alloc_skb(pkt_len + 5) 中加 5 个 byte 我没看到有什么关系

skb_reserve(skb, 2); /* Align IP on 16 byte boundaries
2022-11-30 14:08:37 +08:00
回复了 iovekkk 创建的主题 宽带症候群 关于 iOS 设备 wifi 峰值速度以及路由器选购讨论
@riddlev2 太狠了,还检测邻居的。linux 下面不知道有没有办法通过改驱动的办法来 hack ?还是这个是在 intel 网卡中的 firmware 里面做的并且没有提供接口给驱动才控制?
2022-11-30 10:07:15 +08:00
回复了 iovekkk 创建的主题 宽带症候群 关于 iOS 设备 wifi 峰值速度以及路由器选购讨论
@lns103 你是说检测到 ap 这端为 CN 吗?如果是这样,我买个水货路由器,然后搭配 intel 的网卡就可以用 6GHz 了?
2022-11-30 10:04:08 +08:00
回复了 iovekkk 创建的主题 宽带症候群 关于 iOS 设备 wifi 峰值速度以及路由器选购讨论
@iovekkk 看每个人的实际情况和房型,每个房间都放的话,最好是相互干扰不要那么厉害
2022-11-30 10:00:29 +08:00
回复了 huangya 创建的主题 Linux 请教个网卡驱动代码问题
@wangkai0351 dev_alloc_skb ( 0 )不可以吧,至少要大于或者等于收到的包的长度,不然接下来从网卡里面取包怎么装得下?
2022-11-29 18:11:55 +08:00
回复了 iovekkk 创建的主题 宽带症候群 关于 iOS 设备 wifi 峰值速度以及路由器选购讨论
acwifi 的结论是:4×4 比 2×2 要快;
https://www.acwifi.net/18179.html
2022-11-25 17:56:06 +08:00
回复了 Augoror 创建的主题 宽带症候群 除了宽带,还有其他家庭组网方式吗
@hadoop 在的。G 家的 aHVhbmd5YTkwQGdtYWlsLmNvbQ==
可以先邮件,后续绿色软件
2022-11-22 17:55:52 +08:00
回复了 huangya 创建的主题 宽带症候群 Linux 有什么参数限制 nat session 数目吗?
@lairdnote 能否明确告知是哪个? net.netfilter.nf_conntrack_max 和 net.netfilter.nf_conntrack_buckets 我都试了,没有用
2022-11-22 13:39:33 +08:00
回复了 huangya 创建的主题 宽带症候群 有什么工具可以模拟大量 tcp 连接吗?
@changnet
@jousca
准确来说是家用路由器的 nat 转发能力。
2022-11-22 11:55:55 +08:00
回复了 huangya 创建的主题 宽带症候群 有什么工具可以模拟大量 tcp 连接吗?
@lzj724 我主贴补充了测试目的。下载了 jmeter ,这玩意感觉有点杀鸡用牛刀的感觉。我在看这玩意怎么用。
2022-11-22 11:51:48 +08:00
回复了 huangya 创建的主题 宽带症候群 有什么工具可以模拟大量 tcp 连接吗?
@vhysug01 没深入了解 go ,不知道直接起 1w 个 goroutine ,对测试机要求高不高,怕把电脑搞死
2022-11-21 13:47:41 +08:00
回复了 viberconnection 创建的主题 宽带症候群 求推薦支援 IPv6 的 wifi mesh 產品
你列一下你购买的 mesh 路由器型号让大家看看。说不定有人在用
2022-11-19 19:17:43 +08:00
回复了 aquman888 创建的主题 宽带症候群 关于路由器 mesh 的问题
@yggd
@aquman888
应该是 yggd 链接中的“情境 3: AiMesh 主路由器作为无线接入点(AP)模式,且 AiMesh 系统设备间有交换机连接”
1 ... 11  12  13  14  15  16  17  18  19  20 ... 41  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2034 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 01:14 · PVG 09:14 · LAX 18:14 · JFK 21:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.