<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[东篱下]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a776995799</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a776995799]]></copyright><item><title><![CDATA[dpdk之rte_ring]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/166106427</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/166106427</guid><author>a776995799</author><pubDate>Sun, 20 Sep 2026 20:12:38 +0800</pubDate><description><![CDATA[DPDK的rte_ring用于多核间高效通信，解决收包、处理、发包流水线模型中的数据传递问题。其核心机制是双指针（head/tail）分别管理生产者与消费者状态，避免并发读写时因中间状态导致的数据不一致。通过将prod.head和cons.tail读取至本地变量，确保快照一致性，防止因中间值变化引发错误判断。结合原子操作与环形缓冲区设计，实现无锁、高性能的跨核数据传输。]]></description><category></category></item><item><title><![CDATA[DPDK内存池mempool]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/165859894</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/165859894</guid><author>a776995799</author><pubDate>Fri, 18 Sep 2026 19:44:03 +0800</pubDate><description><![CDATA[l2fwd中创建内存池时，nb_mbufs=8192，elt_size=2304（含rte_mbuf 128字节 + 数据区2176字节），header_size=128为管理头。应用获取的mbuf指针指向struct rte_mbuf起始位置，其前128字节为内存池内部管理头（rte_mempool_objhdr），不可见。收包后，pkts_burst数组中每个mbuf指针均指向对应内存池中rte_mbuf结构体，与内存池对象布局一致，实现高效数据包处理。]]></description><category></category></item><item><title><![CDATA[e1000收发包分析]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/163114382</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/163114382</guid><author>a776995799</author><pubDate>Mon, 17 Aug 2026 21:03:41 +0800</pubDate><description><![CDATA[本文介绍了在xv6教学操作系统上为E1000网卡实现驱动开发的过程，重点研究了DMA（直接内存访问）和描述符环机制。]]></description><category></category></item><item><title><![CDATA[LAN9118网卡收发包过程浅析]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/162494697</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/162494697</guid><author>a776995799</author><pubDate>Thu, 02 Jul 2026 19:50:43 +0800</pubDate><description><![CDATA[Linux网卡驱动收发包过程分析 本文以LAN9118网卡驱动为例，分析了Linux内核中网卡驱动的收发包过程。通过QEMU模拟环境，配置IP并执行ping命令，观察到了ARP和ICMP数据包的收发过程。]]></description><category></category></item><item><title><![CDATA[驱动里的并发控制--互斥锁]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/160449414</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/160449414</guid><author>a776995799</author><pubDate>Thu, 23 Apr 2026 21:09:01 +0800</pubDate><description><![CDATA[本文通过Linux内核模块实验演示了多线程并发访问共享资源时的竞态问题及互斥锁解决方案。实验环境为Ubuntu 16.04虚拟机，创建了一个proc文件接口用于测试计数器操作。在无锁情况下，10个线程各执行500次写操作后，实际计数值远低于预期5000，出现数据错乱。通过引入mutex互斥锁（初始化mutex_init，加锁mutex_lock，解锁mutex_unlock）保护共享变量后，成功解决了并发访问导致的数据不一致问题。]]></description><category></category></item><item><title><![CDATA[条件变量-互斥锁基本使用]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/155109984</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/155109984</guid><author>a776995799</author><pubDate>Fri, 21 Nov 2025 20:34:30 +0800</pubDate><description><![CDATA[芯片a和芯片b串口通信，a发送命令给b，b回复响应给a；b偶尔会主动发送事件消息给a。]]></description><category></category></item><item><title><![CDATA[rt-thread无法启动]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/154141625</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/154141625</guid><author>a776995799</author><pubDate>Thu, 13 Nov 2025 21:05:35 +0800</pubDate><description><![CDATA[本文记录了RT-Thread系统在加入新函数后出现无法启动的hard fault问题的排查过程。现象表现为加入新函数后系统崩溃，报错信息显示bus fault。通过逐步排查发现并非数组越界或栈溢出导致，最终定位到链接脚本的问题。详细调试过程包括检查代码、验证栈溢出假设、分析链接脚本的内存布局以及跟踪系统启动流程。特别关注了RT-Thread的栈管理机制，通过添加调试打印获取实时栈信息来辅助分析。结果表明问题的根本原因是链接脚本中flash和sram地址范围的配置不当，而非函数实现问题或内存越界。]]></description><category></category></item><item><title><![CDATA[cmd ping不可用]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/150589366</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/150589366</guid><author>a776995799</author><pubDate>Thu, 21 Aug 2025 19:00:19 +0800</pubDate><description><![CDATA[打开cmd后ping命令不能用，报错不是内部或外部命令。]]></description><category></category></item><item><title><![CDATA[rt-thread加一个库]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/149611964</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/149611964</guid><author>a776995799</author><pubDate>Thu, 24 Jul 2025 20:19:14 +0800</pubDate><description><![CDATA[摘要 本文介绍了如何在RT-Thread系统中添加官方软件包未包含的库]]></description><category></category></item><item><title><![CDATA[启动的docker容器里默认运行dockerd]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/144434915</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/144434915</guid><author>a776995799</author><pubDate>Thu, 12 Dec 2024 20:20:31 +0800</pubDate><description><![CDATA[已在Dockerfile里yum install docker但docker run 启动容器后, 没有dockerd 进程。]]></description><category></category></item><item><title><![CDATA[Makefile添加变量, 编译不同的文件]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/144357220</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/144357220</guid><author>a776995799</author><pubDate>Thu, 12 Dec 2024 19:56:25 +0800</pubDate><description><![CDATA[make COMPILE=RELEASE]]></description><category></category></item><item><title><![CDATA[yocto加软件包install 动态链接库报错]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/144356816</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/144356816</guid><author>a776995799</author><pubDate>Mon, 09 Dec 2024 20:18:33 +0800</pubDate><description><![CDATA[加入bb文件,编译通过 在install时报错。]]></description><category></category></item><item><title><![CDATA[Ubuntu解压xar压缩格式的pkg包]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/144259201</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/144259201</guid><author>a776995799</author><pubDate>Thu, 05 Dec 2024 20:22:00 +0800</pubDate><description><![CDATA[xar archive - version 1]]></description><category></category></item><item><title><![CDATA[git 子模块]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/138398633</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/138398633</guid><author>a776995799</author><pubDate>Thu, 02 May 2024 20:54:43 +0800</pubDate><description><![CDATA[git config -f .gitmodules submodule xxx xxx.git
git submodule sync删除：git submodule deinit <name_of_submodule>
git rm -f <name_of_submodule>
rm -rf .git/modules/<name_of_submodule>
git commit -m “Deleted submodule xy”重新添加：git submodule add --force https://g]]></description><category></category></item><item><title><![CDATA[redis]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/138379966</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/138379966</guid><author>a776995799</author><pubDate>Thu, 02 May 2024 19:50:09 +0800</pubDate><description><![CDATA[一个Lua脚本很长的话，那么直接这么调用Lua脚本的话非常不方便，所以Redis当中提供了一个命令script load来为手动给每一个命令生成摘要，这里之所以要说手动的原因是即使我们不使用这个命令，每次调用完Lua脚本的时候，Redis也会为每个Lua脚本生成一个摘要。例子OK"abc"script exists 摘要：判断一个摘要是否存在。0表示不存在，1表示存在script flush：清除所有Lua脚本缓存例子。]]></description><category></category></item><item><title><![CDATA[用户登录状态存储]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/135322924</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/135322924</guid><author>a776995799</author><pubDate>Sun, 07 Jan 2024 10:32:00 +0800</pubDate><description><![CDATA[cookie，存在浏览器保存位置分2种：内存，硬盘键值对：name 失效时间（不可读，仅浏览器判断是否过期）session 会话，存在服务器session-idlocalstorage，硬盘，到过期时间/手动清理sessionstorage，内存。]]></description><category></category></item><item><title><![CDATA[源码编译安装lighttpd]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/127408160</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/127408160</guid><author>a776995799</author><pubDate>Thu, 20 Oct 2022 22:21:10 +0800</pubDate><description><![CDATA[lighttpd编译安装]]></description><category></category></item><item><title><![CDATA[material使用demo----添加滑块]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/127324308</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/127324308</guid><author>a776995799</author><pubDate>Tue, 18 Oct 2022 21:20:29 +0800</pubDate><description><![CDATA[material demo]]></description><category></category></item><item><title><![CDATA[http协议初探]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/127131516</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/127131516</guid><author>a776995799</author><pubDate>Sat, 01 Oct 2022 10:12:52 +0800</pubDate><description><![CDATA[了解http协议。]]></description><category></category></item><item><title><![CDATA[grpc web example]]></title><link>https://blog.youkuaiyun.com/a776995799/article/details/125281447</link><guid>https://blog.youkuaiyun.com/a776995799/article/details/125281447</guid><author>a776995799</author><pubDate>Wed, 15 Jun 2022 19:51:35 +0800</pubDate><description><![CDATA[grpc-web helloworld example]]></description><category></category></item></channel></rss>