kernel
文章平均质量分 50
kernelwander
os/bsp 的一些经验总结分享
展开
-
android usb dwc3 gaget rndis 网卡异常断开问题。
我司soc平台采用的synopsys dwc3 的 usb控制器ip。 发现usb rndis在连续压力灌包测试场景下,rndis会异常断开,其余endpoint都正常,包括adb/usb串口。具体的测试场景是两台android设备分别通过usb连接两台电脑 ,设备与设备之间通过无线mesh空口连接(也就是同时modem子系统也在跑),通过两台电脑的iperf互相灌包。经过加log分析,是rndis的endpoint没有收到xfercomplete的event。并且连续收到了2或3条xfernotrea原创 2021-02-05 17:46:47 · 1210 阅读 · 1 评论 -
armv8 aarch64上的asm汇编pop push操作。
通过arm汇编用户手册可以得知,aarch64并没有POP和PUSH的命令,只有T32和A32模式下才有,但是我们仍然可以看到aarch64下的汇编有pop指令,原因就在于这个是个转义的宏定义arch/arm64/include/asm/assembler.h/*Stack pushing/popping (register pairs only). Equivalent to store decrementbefore, load increment after.*/.macro pu原创 2021-01-15 16:48:38 · 2143 阅读 · 0 评论 -
linux kernel kthread调度问题,调度不及时
linux kernel kthread调度问题,调度不及时讨论的前提在一个项目中,在中断里去唤醒一个kthread这是一个典型的kthread循环 while (!kthread_should_stop()) { if (dosomething()) { break; } schedule(); set_current_state(TASK_INTERRUPTIBLE); } __set_current_state(TASK_RUNNING);我们对Markdown原创 2021-01-06 18:38:39 · 909 阅读 · 0 评论