ILD

openwrt uloop 学习
2022-8-16
uloop是openwrt的一个事件库,由libubox包提供,使用时需要链接libubox.so。libubox除了提供uloop还提供avl,blob等功能。uloop头文件:libubox/uloop.huloop源码:uloop.c uloop-epoll.culoop的运行数据都存储在共享

openwrt ubus 学习
2022-8-18
ubus是openwrt平台的RPC机制,它包含3个部分:libubus,ubus,ubusd。ubus是中心服务型,ubusd负责客户端和服务端的消息转发。 client <-> ubusd <-> serverubus是命令行客户端。libubus是ubus的c库,可以实现客户端和服务端。

openwrt blob & blobmsg & blobmsg json学习
2023-3-22
openwrt的ubus进程间通信等使用blob & blobmsg格式封装,blob & blobmsg 由libubox库提供。blobmsg json有ubox包的libblobmsg_json库提供,它提供了从json字符串转换blobmsg的支持等。libubox/blob.hThis p

gmac clk时钟频率不对导致丢包问题解决
2022-8-21
ipq5018移植后,LAN口不通,WAN口通。查看lan接口eth1:/ # ifconfig eth1eth1 Link encap:Ethernet HWaddr 00:00:00:00:AC:02 inet6 addr: fe80::200:ff:fe00:ac

network packet process path part 1 ethernet driver
2022-9-3
本文分析了以太网驱动初始化、收包的过程,以高通IPQ5018平台nss dp驱动为例子。NSS DP驱动分析nss dp有两个ops, gmac_hal_ops和data_plane_ops。hal/gmac_ops/syn/gmac/syn_if.c/* * MAC hal_ops base st

skb内存碎片化导致oom问题定位解决
2022-9-8
路由器开启无线,使用5g一段时间后,free 内存会慢慢的往下降,使用过程就是刷抖音,玩王者荣耀,流量都比较低。前面写过一篇博客,使用page owner来分析内存泄露,使用该方法定位出了,内存泄露的原因是大量的skb没有释放,对应的分配栈为:times 304->878 order 3 mask

network packet process path: part2 NAPI
2022-9-17
NAPI是内核最新的驱动Rx/Tx接口。netif_napi_add以太驱动通过netif_napi_add()来添加一个napi,例如:netif_napi_add(netdev, &rx_info->napi_rx, syn_dp_napi_poll_rx, SYN_DP_NAPI_BUDGET

If I mmap a file from tmpfs, will it double the memory usage
2022-9-24
最近在研究rootfs升级方案。通常由于rootfs正在运行,所以直接写mtd可能造成问题。所以要使用privot_root切换到initramfs。然后卸载rootfs. 但是由于init进程,使用了rootfs, 又没法杀掉init进程。是没法直接卸载rootfs的。一个方案是在启动的过程中,就

Modifying binary during execution
2022-9-24
当进程运行的时候,ld.so 将可执行文件和共享库mmap到进程的虚拟地址空间。只有当一个page被访问的时候,才会加载到内存。所以不是一下就立即加载的。mmap之后,是不能修改文件的,尝试修改将返回Text file busy。[yuanjianpeng@fedora test]$ ./a.out

ubiformat or nandwrite
2022-9-24
在升级nand ubi分区的时候,是使用nandwrite还是ubiformat呢。推荐使用ubiformat。一个原因是:ubiformat保留了擦写次数。另一个原因,nandwrite可能写一个全ff的page. 但是ubifs检测不到,又一次写如数据。对于某些nand芯片,这可能有问题。htt

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.